0

ウィキペディアのマークアップから IPAc テンプレートのコンテンツを解析したいと思います。

'''Konjac''' ({{IPAc-en|lang|pron|ˈ|k|oʊ|n|j|æ|k}})

こんにゃく(英語発音:/ˈkoʊnjæk/)

'''Konjac''' ({{IPAc-en|lang|pron|ˈ|k|oʊ|n|j|æ|k}} {{respell|KOHN|yak}})

こんにゃく(英語発音:/ˈkoʊnjæk/ kohn-yak)

''Konjac'' is pronounced {{IPAc-en|ˈ|k|oʊ|n|j|æ|k}} in English.

こんにゃくは英語で /ˈkoʊnjæk/ と発音します。

このコンテンツを抽出するために必要な正規表現は何ですか?|k|oʊ|n|j|æ|k存在する可能性があるが存在しない可能性があるものと一致させる方法がわかりません ( lang|pron)

ありがとうございました

4

1 に答える 1

1

私はこれを試してみます:

IPAc-en(?:\w|[|])+.(?:[|]|([^}]))+(?:}}\s*{{respell(?:[|]|([^}]))+)?

これは、メインの発音だけでなく、オプションの「再スペル」のものと一致する必要があります。

両方の発音の一致はキャプチャ グループに含まれるため、Java からアクセスできるはずです。

説明:

  • IPAc-en(?:\w|[|])+.- 先頭と単語の文字またはパイプをできるだけ多く一致させます。他の文字と一致します (発音が始まるのは面白い文字です)。何もキャプチャしないでください。

  • (?:[|]|([^}]))+- パイプ (キャプチャしないでください) または閉じ中かっこ (キャプチャ - それが必要な文字です) ではないものに一致します。文字列の最後まで、または } が見つかるまで繰り返します

  • (?:}}\s*{{respell(?:[|]|([^}]))+)?- 次に、必要に応じて角かっこを一致させ、テキストのスペルを変更し、上記と同じロジックを使用して文字をキャプチャします。

于 2012-05-04T19:27:44.427 に答える