2014-02-19 67 views
0

我需要一個正則表達式來檢查一個字符是否不出現在雙引號(「)中。例如,如果我有類似<b>"ABC<DEF"</b>的東西,那麼正則表達式應該匹配。這兩個變量的<,它不應該與雙引號之間<在雙引號之間不存在字符的正則表達式

+3

你不能正確地解釋你的目標。*不會出現在雙引號之間的字符*我你的例子:'b','>','/' - 但你說RegEx應該匹配'<? – tenub

+0

你想要簡單地刪除HTML標籤嗎?也許這篇文章可以幫助嗎? http://www.dotnetperls.com/remove-html-tags – Cesar

回答

0

我猜你的意思是「不應該匹配雙引號之間<」在這種情況下,先行做的伎倆:

s = '<b>"ABC<DEF" match<this "ignore<this" end' 
s.replace(/<(?=("[^"]*"|[^"]+)+$)/g, "@") 

// "@b>"ABC<DEF" [email protected] "ignore<this" end" 
+0

是的。我現在修好了。謝謝,它的工作原理! – user2546340

+0

當我在'「ABC '上使用相同的函數時,它只替換第一個」<「,即結果字符串爲@b>」ABC「。爲什麼這樣呢?預期產生的字符串應該是'@b>「ABC '。 – user2546340

+0

@ user2546340:當然?我得到的結果是正確的。請注意製作jsfiddle? – georg

相關問題