我有一个大型的csv文件,我正在使用Notepad ++进行搜索。
寻找正则表达式(或其他方法)来查找不以83个连续逗号结尾的行。
我在想这样的事情:
[^,]{83}$
答案 0 :(得分:8)
[^,]{83}
的问题是它需要有83个字符,同时没有逗号。因此,如果最后83个字符中的任何一个是逗号,那么该表达式将失败。使用负前瞻来搜索坏事会更容易,如果找到则会失败。
^(?!.*,{83}$)
答案 1 :(得分:1)
您在一行的末尾搜索了83个非逗号,但有些可能是逗号。
使用固定在行尾的后视来断言前面的83个字符不是 all 逗号(允许某些,但不是所有的):
(?<!,{83})$
答案 2 :(得分:0)
所以你想要(行尾或非逗号字符),然后是不超过82个逗号。
(^|[^,]),{,82}
答案 3 :(得分:0)
Denomales是对的,但我会这样做:
([^,],\{0,82\}|^,{0,82})$
它匹配一个以非逗号字符结尾的行,后跟0到82个逗号之间的任何地方,或者一个少于83个逗号的整行。