6

小文字とそれに続く大文字を一致させたいとすると、次のようなことができます。

re.compile(r"[a-z][A-Z]")

ここで、Unicode文字列に対して同じことを実行します。つまり、「aÅ」や「yÜ」などに一致させます。

試してみました

re.compile(r"[a-z][A-Z]", re.UNICODE)

しかし、それは機能しません。

手がかりはありますか?

4

1 に答える 1

7

\p{Lu}現在の実装はやのようなUnicodeプロパティショートカットをサポートしていないため、これをPython正規表現で行うのは困難です\p{Ll}

[A-Za-z]もちろん、Unicodeオプションが設定されているかどうかに関係なく、ASCII文字にのみ一致します。

したがって、reモジュールが更新されるまで(または現在開発中のregexパッケージをインストールするまで)、プログラムで実行するか(文字列を繰り返し処理し、文字に対してchar.islower()/char.isupper()を実行する)、すべてのユニコードコードポイントを手動で指定する必要がありますが、おそらくそうではありません。努力する価値があります...

于 2011-09-13T06:59:06.143 に答える