我在html文档解析中看到了这个正则表达式。
我知道它与<br>
元素相匹配,但我不确定[^>]*>
部分。
据我所知,正则表达式说元素应该以“br”开头,但为什么它们需要[^>]*>
部分。他们为什么不使用<br*>
?
答案 0 :(得分:8)
[]表示一组字符。如果[]以^开头,则表示除了这些字符之外的任何内容。因此,[^>]*>
将匹配“除&gt;之外的任何内容的字符数,后跟&gt;”这用于吃掉br和&gt;之间的任何东西。
答案 1 :(得分:6)
以下是正则表达式<br[^>]*>
的完整细分:
字面匹配字符<br
匹配任何非>
在零和无限次之间,尽可能多次,根据需要回馈(贪婪)
按字面匹配字符>
另外,您在帖子中提到了正则表达式<br*>
。
这实际上与<b
匹配,然后在零和无限次之间匹配r
',然后是>
。