私はパターンマッチングを行い、第一の人物と第二の人物をPython 2.7で置き換えようとしています。Python 2.7 Regexのキャプチャグループが予測どおりに動作しない
string = re.sub(r'(\W)I(\W)', '\g<1>you\g<2>',string)
string = re.sub(r'(\W)(me)(\W)', '\g<1>you\g<3>',string)
# but does NOT work
string = re.sub(r'(\W)I|(me)(\W)', '\g<1>you\g<3>',string)
私は最後の正規表現を使用したいのですが、何とかキャプチャグループは、すべて台無しにしているとさえ< 0>は奇妙な、不規則な一致を示し、\ gを行います。キャプチャグループ3は最後の単語境界になると思いますが、そうでないようです。
サンプル文は次のようになります。I like candy.
私は(私が最初になるので、私は実際に選択されることはありません)交換の正しさであまり興味がないが、私は、なぜキャプチャグループを知りません私が期待するように働かないでください。
ありがとうございます!
Pythonのバージョンはところで、何ですか? –
2.7!私は質問に追加します。 –
次に、3番目のパターンには少なくとも2つの問題があります:間違った交替の境界、および参加していないグループの交換。あなたは ''不一致なグループ ''のエラーを取得していませんか? –