この質問の正規表現を見つけようとしています:
負の先読みアサーションと後読みアサーションを使用して、次の文字列の「137b」と一致させようとしています。
<Rate Symbol="EURTRY">
<Bid>2.29443</Bid>
<Ask>2.29562</Ask>
<High>2.29841</High>
<Low>2.28999</Low>
137b
<Direction>1</Direction>
<Last>23:29:11</Last>
</Rate>
誰かがこの正規表現が機能しない理由を指摘できますか?
(?<!(<\w+>))[a-zA-Z0-9_\.:]+(?!(</\w+>))
意図:「a-zA-Z0-9 _ .:」を含む文字列の前後にXMLタグがないため、「137b」と一致する必要がありますが、一致しません。
正規表現へのリンクは次のとおりです:http: //regexr.com?32rk4
一方、負のアサーションのない同じ正規表現は(<\w+>)[a-zA-Z0-9_\.:]+(</\w+>)
、xmlタグ内のすべての文字列に正しく一致します。