どのように私は成功し<tag TAG1>SOME VALUE</tag TAG1><tag TAG1>ANOTHER VALUE</tag TAG1>
2として独立した値と一致していますか?
背景:
私はTAG1
は、その特定のタグ(複数のタグが同じ名前で異なる値を持つことができます)とSOME VALUE
の名前であり、ANOTHER VALUE
が異なるよう<tag TAG1>SOME VALUE</tag TAG1><tag TAG1>ANOTHER VALUE</tag TAG1>
などの文字列にマッチしようとしていますタグで囲まれた値。
は、これまでのところ私は、正規表現パターンを使用して、このような<tag TAG1>SOME VALUE</tag TAG1>
などのタグの1組に一致させることができる午前<\\s*tag\\s*.+\\s*>(.*)</\\s*tag\\s*.+\\s*>
たとえば上記の最初のタグと開始の終わりを分離文字なしで最悪のシナリオであります2番目の私の問題は、正規表現の文字列でfind()
を実行すると、両方のタグが1つのタグであるかのように取得されます。
問題は、タグの末尾/開始を除外しないため、タグ(.*)
の間にワイルドカードが付いています。任意の文字(\n
を含む)がタグ内にある可能性があるため、ワイルドカードの照合が必要です。私はPattern.DOTALL
を使って、1つのタグと改行をうまく一致させることもできます。ここで
@Rナールは、この最近の[Pythonの質問]に言及したよう(http://stackoverflow.com/単純な正規表現のための正規表現を使用しないでください(http://stackoverflow.com/questions/1732348/regex-match-open-tags-except- xhtml-self-contained-tags/1732454#1732454) – Parfait
必ずしもXMLではなく、入力ファイルの作成/読み込み用のクイックバージョン与えられたテンプレートファイル。まだすべてが期待通りに働いています:) – Chris