2017-03-09 37 views
0

我嘗試沒有
選擇,但我得到的輸出錯誤如何取消選擇正則表達式中唯一的<br>標記?

正則表達式:

(&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> 

正則表達式鏈接 http://rubular.com/r/hKtO4ojyye

幫助謝謝..

+0

您是否在使用Ruby?嘗試用'<(?! br(?:\ s [^>] *)?>)[0123>> –

+0

替換'<[^br].*>'這將匹配'
'和'
'的實例:'(
)' – Jameson

回答

1

negated character class[^br]匹配比br其他任何東西,所以它不會匹配b

使用negative lookahead assertion來避免匹配br

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

或者更好''(?!br \\ W)' –

+0

自定義標籤未選擇上述表達式@ Pranav C Balan – Charge