正则表达式 - 匹配未转义的字符

时间:2012-08-05 18:41:46

标签: python regex

我正在尝试使用正则表达式来匹配字符串中未转义的逗号字符。

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

测试用例:

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

1 个答案:

答案 0 :(得分:19)

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

说明:

(?<!\\)    Matches if the preceding character is not a backslash
(?:\\\\)*  Matches any number of occurrences of two backslashes
,          Matches a comma