试图找到这个问题的正则表达式:
尝试在以下字符串中匹配“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 标签内的所有字符串。