我试图在没有TR嵌套在其中的网页上获取TR的内容。 HTML嵌套了许多TR
我仅限于此问题的RegEx。
这很好:
TR
Contents
/TR
这不是
TR
other HTML
TR
Contents
答案 0 :(得分:4)
这实际上并不是正则表达式的一个问题(假设您可以保证<tr>
不会出现在注释,字符串等中;否则正则表达式将不匹配):
<tr\b(?:(?!</?tr\b).)*</tr>
只会匹配最里面的tr
个标签。使用正则表达式引擎的dot-matches-newlines
选项,否则它将无法正常工作。如果您没有(JavaScript,我正在与您交谈!),请使用[\s\S]
代替.
。
<强>解释强>
<tr\b # Match a tag that starts with tr
(?: # Match...
(?! # (unless it's possible to match
</?tr\b # <tr or </tr at the current position)
)
. # any character
)* # any number of times.
</tr> # Match </tr>