1
我有一個字符串:正則表達式 - 負負回顧後與BR
var a = '<<<<<<<br>>>>>>>>'
我想替換:<
與<
和>
與>
,但我不希望更換<>
如果是<br>
標籤。所以,我這樣做
a.replace(/<(?!br>)/g, '<').replace(/>(?<!<br)/g, '>')
第一個替換工作,但第二個不是。
我有一個字符串:正則表達式 - 負負回顧後與BR
var a = '<<<<<<<br>>>>>>>>'
我想替換:<
與<
和>
與>
,但我不希望更換<>
如果是<br>
標籤。所以,我這樣做
a.replace(/<(?!br>)/g, '<').replace(/>(?<!<br)/g, '>')
第一個替換工作,但第二個不是。
JavaScript不支持lookbehinds,因此您的表達式無效。
爲了打開括號:
<(?!\/?\w)
用於封閉括號:
\B>
\B
表示非單詞邊界。
JS:
> a.replace(/<(?!\/?\w)/g, '<').replace(/\B>/g, '>')
< "<<<<<<<br>>>>>>>>"
對於一般情況下,我想你可能需要一個解析器來處理這個問題。 –
查看https://jsfiddle.net/pwh3ht1t/,它可能會給你一個想法如何解決這個1正則表達式替換調用。 –
您可以用'<'和'> +'替換'<+'與'>',這將是我看到發生在正則表達式中最簡單的方式。 – vlaz