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 に答える