我是正则表达式的新手,需要编写一个将某些数据从XML页面中提取出来的表达式。例如,
<name>Number of test runs</name>
<value>2</value>
我需要提取的唯一数字是2.我希望它查看XML标记名称,这样我就不会从页面上的任何其他数字中提取。以下是我所拥有的,但我匹配所有内容而不仅仅是2.任何帮助都会很有意义。
当前正则表达式:
/<name>Number of Failed BGPs</name>\n<value>(.+?)/
答案 0 :(得分:0)
你说的问题是它匹配所有内容,而不仅仅是值(2)。但您确实需要匹配所有内容,以确保它是正确的<name>
标记。
您想要的区别是匹配的组,由parens指定。
/<name>Number of Failed BGPs<\/name>\n<value>(.+?)<\/value>/
您想获得第一个匹配的组,它应该只是值本身。注意我还在正则表达式中添加了</value>
标记。如果你不这样做,那么你的懒惰量词只能获得第一个数字。