私はPython3とreモジュール文字列をパターン「(c、c、c)」を使用して解析しようとしています。ここで、cは(a、b、ë、ɪ̈)から選択される1文字です。私はそのようなものを書きました:
src="(a,b,ɪ̈)"
pattern = "[abëɪ̈]"
for r in re.finditer( '\({0},{0},{0}\)'.format(pattern), src ):
print( r.group() )
ただし、正規表現はɪ̈では機能しません。Pythonは、ɪ̈を2つの文字(ɪ+ diairesis)、idestɪと発音区別符号で構成されていると分析します。正規表現は「(a、b、ɪ̈)」の読み方を知りません。私はëと同じ問題を抱えていません。Pythonはëを1つの文字として分析し、私の正規表現は「(a、b、ë)」を読み取ることができ、期待される答えを提供します。unicodedata.normalize('NFD'、...)をsrcとpatternに適用したおかげで、正規化アプローチを使用しようとしましたが、失敗しました。
この問題をどのように解決しますか?私を助けてくれるといいですね!
PS: pythonmのおかげでいくつかのタイプミスを修正しました。