にマッチし、私は*=
、&=
、+=
、-=
、|=
、および正規表現で^=
にマッチしようとしているが、いくつかの理由については、以下のパターンは、両方の<=
を受け入れますそして>=
:「^」の文字は、Pythonの正規表現の両方において「<' and '>」
modifyPat = re.compile('\s*[&\|\*/%\+-^]*=[^=]*')
私はいくつかの掘削を行って、問題がパターン内^
文字を含めることにより生じることを発見しました。例えば、私は以下のパターンのように^
を削除し、場合、私が期待されるマッチングの挙動を得るが、当然のことながら^=
に対して能力の試合を失う:ここで何が起こっているか
modifyPat = re.compile('\s*[&\|\*/%\+-]*=[^=]*')
、とにどのような方法があります^=
と一致させるために^
文字を含めると、<=
と>=
のように一致しません。
'[+ - ^]'を見ると、ハイフンが最後になければならず、 '^'は先頭にしてはいけません。 –
また、生の文字列を使う: 'r '...''。 – user2357112