0

こんにちは私はうまくいく次のreを持っています:

re.sub("(?P<colon>(, )\s*|^)(?P<field>[A-Za-z]*)", "\\g<colon>`\\g<field>`", fields

しかし、私はこれをやりたいです(内側のグループをキャプチャします):

re.sub("((?P<colon>, )\s*|^)(?P<field>[A-Za-z]*)", "\\g<colon>`\\g<field>`", fields

ただし、グループ内にあるグループ(たとえば、これにgのみを保持しているグループ)を参照しようとするとr(e(g)e)xunmatched groupエラー/例外が発生します。

では、ネストされたキャプチャグループを参照するにはどうすればよいですか、それともjython(約python 2.5.1)では不可能ですか?

編集:Qtax(Az => A-Za-z)からの回答に従って修正されましたが、私の本当の問題はまだ解決されていません

4

1 に答える 1

1

これらのグループはすべてキャプチャしますが、名前が付けられていないグループもあります。python/jython正規表現の仕様を暗記していませんが、キャプチャグループを参照できるはずです。次のような表現を試してください。

re.sub("(?:(, )\s*|^)([A-Za-z]*)", r"\1`\2`", ...)

and[A-z]を意味する場合は使用できません。これは、大文字と小文字を区別しないフラグで記述または使用できます。A-Za-z[A-Za-z](?i)[a-z]

于 2012-05-29T12:38:17.167 に答える