【发布时间】:2014-10-02 00:16:15
【问题描述】:
我有一个 CSV 文件,其中包含如下行:
- 选项,100,1; 3; 4; 2,,
- Option,100,Interprete,,
我尝试了正则表达式 (^Option,.+,.+[^;].+,,) 来查找上面的行,但不包括 带有“;”的行第三个逗号分隔值中的字符。 我的正则表达式不起作用,不排除我不想找到的行。
【问题讨论】:
标签: regex search replace find notepad++
我有一个 CSV 文件,其中包含如下行:
我尝试了正则表达式 (^Option,.+,.+[^;].+,,) 来查找上面的行,但不包括 带有“;”的行第三个逗号分隔值中的字符。 我的正则表达式不起作用,不排除我不想找到的行。
【问题讨论】:
标签: regex search replace find notepad++
不要使用过于宽松的点,而是使用这样的否定字符类:
(^Option,[^,]+,[^,;]+,,)
[^,] 表示除,以外的所有字符
注意:括号可能没有用。
【讨论】:
[^,;]+ 替换为(?:[^,;]|(?<!\d);)+。另一种方法是跳过 html 实体:(?>[^,;&]+|&[^,;]+;|&)+