我真的可以使用一些帮助。我有以下两行。
<TD noWrap>Data: <B><SPAN class="TableBody clsBold">4</SPAN></B></TD>
<TD noWrap>Format: <B><SPAN class="TableBody clsBold">9</SPAN>/<SPAN class=TableBody> </SPAN></B></TD>
我需要抓住标签之间的文本(分别为4和9)
我正在使用以下正则表达式声明:
(\s)*(<B>)*<(?<SPAN>\w*)(?:.*)>(?:.*)</\k<SPAN>>
这适用于第一行,如:
Data: (\s)*(<B>)*<(?<SPAN>\w*)(?:.*)>(?:.*)</\k<SPAN>>
但不适用于
Format: (\s)*(<B>)*<(?<SPAN>\w*)(?:.*)>(?:.*)</\k<SPAN>>
因为它在我需要的部分之后抓住了SPAN,所以我没有得到第4组中的9。
如何使用具有不同前缀的相同Regex线获得我需要的东西。
答案 0 :(得分:0)
我会在正则表达式中准确指出我正在寻找的内容。话虽这么说,这样的事情就足够了:
<TD noWrap>([A-Za-z]+:)\s*<B><SPAN class="TableBody clsBold">(\d+)</SPAN>
它只使用两个捕获组,因此您应该获得匹配("Data", "4")
和("Format", "9")