如何取消选择正则表达式中唯一的标签?

时间:2017-03-09 07:28:06

标签: regex

我试图选择没有
但是输出错误

正则表达式:

(&nbsp;|&quot;|&amp;|&lt;|&gt;|<[^br].*>|\\W)

输入:

<br /> &nbsp; &nbsp; 
<b>
</b>
<r>
</r>
<break>
<body>
<html>
<head>

输出:

Match 1
1.  &nbsp;
Match 2
1.  &nbsp;
Match 3
1.  </b>
Match 4
1.  </r>
Match 5
1.  <html>
Match 6
1.  <head>
Match 7
1.<break>

Match 8
1.<body>

Regex Link http://rubular.com/r/hKtO4ojyye

帮助谢谢..

1 个答案:

答案 0 :(得分:1)

negated character class [^br]匹配br以外的任何内容,因此不会与b匹配。

使用negative lookahead assertion来避免匹配br

(&nbsp;|&quot;|&amp;|&lt;|&gt;|<(?!br\\W).*?>|\\W)