什么<br [^>] *&gt;正则表达式意味着什么?</br [^>

时间:2013-11-30 03:42:55

标签: java regex

我在html文档解析中看到了这个正则表达式。

我知道它与<br>元素相匹配,但我不确定[^>]*>部分。 据我所知,正则表达式说元素应该以“br”开头,但为什么它们需要[^>]*>部分。他们为什么不使用<br*>

2 个答案:

答案 0 :(得分:8)

[]表示一组字符。如果[]以^开头,则表示除了这些字符之外的任何内容。因此,[^>]*>将匹配“除&gt;之外的任何内容的字符数,后跟&gt;”这用于吃掉br和&gt;之间的任何东西。

答案 1 :(得分:6)

以下是正则表达式<br[^>]*>的完整细分:

  1. 字面匹配字符<br

  2. 匹配任何非>

  3. 的字符
  4. 在零和无限次之间,尽可能多次,根据需要回馈(贪婪)

  5. 按字面匹配字符>


  6. 另外,您在帖子中提到了正则表达式<br*>

    这实际上与<b匹配,然后在零和无限次之间匹配r',然后是>