找到不以83个连续逗号结尾的行

时间:2013-06-26 15:16:58

标签: regex notepad++

我有一个大型的csv文件,我正在使用Notepad ++进行搜索。

寻找正则表达式(或其他方法)来查找不以83个连续逗号结尾的行。

我在想这样的事情:

[^,]{83}$

4 个答案:

答案 0 :(得分:8)

[^,]{83}的问题是它需要有83个字符,同时没有逗号。因此,如果最后83个字符中的任何一个是逗号,那么该表达式将失败。使用负前瞻来搜索坏事会更容易,如果找到则会失败。

^(?!.*,{83}$)

enter image description here

答案 1 :(得分:1)

您在一行的末尾搜索了83个逗号,但有些可能是逗号。

使用固定在行尾的后视来断言前面的83个字符不是 all 逗号(允许某些,但不是所有的):

(?<!,{83})$

答案 2 :(得分:0)

所以你想要(行尾或非逗号字符),然后是不超过82个逗号。

(^|[^,]),{,82}

答案 3 :(得分:0)

Denomales是对的,但我会这样做:

([^,],\{0,82\}|^,{0,82})$

它匹配一个以非逗号字符结尾的行,后跟0到82个逗号之间的任何地方,或者一个少于83个逗号的整行。