16

我正在尝试制作一个正则表达式来匹配字符串中未转义的逗号字符。

我正在寻找的规则是“逗号前面没有偶数个反斜杠”。

测试用例:

True    abc,abc
False   abc\,abc
True    abc\\,abc
False   abc\\\,abc
True    abc\\\\,abc
False   abc\\\\\,abc

我尝试使用负面的后视:(?<!(\\+)),但 Python 给了我error: look-behind requires fixed-width pattern.

4

1 回答 1

29

试试这个正则表达式:(?<!\\)(?:\\\\)*,

解释:

(?<!\\)    Matches if the preceding character is not a backslash
(?:\\\\)*  Matches any number of occurrences of two backslashes
,          Matches a comma
于 2012-08-05T18:49:10.087 回答