3 回答

TA貢獻(xiàn)1802條經(jīng)驗 獲得超6個贊
您必須使用RegExp:
str.match(new RegExp(pattern1+'|'+pattern2, 'gi'));
當(dāng)我連接字符串時,所有的斜杠都消失了。
如果您的模式中有一個反斜杠以轉(zhuǎn)義特殊的正則表達(dá)式字符(如\(),則必須在字符串中使用兩個反斜杠(因為\是字符串中的轉(zhuǎn)義字符):new RegExp('\\(')與相同/\(/。
因此,您的模式必須變?yōu)椋?/p>
var pattern1 = ':\\(|:=\\(|:-\\(';
var pattern2 = ':\\(|:=\\(|:-\\(|:\\(|:=\\(|:-\\(';

TA貢獻(xiàn)1842條經(jīng)驗 獲得超21個贊
使用以下內(nèi)容:
var regEx = new RegExp(pattern1+'|'+pattern2, 'gi');
str.match(regEx);

TA貢獻(xiàn)1829條經(jīng)驗 獲得超7個贊
您必須放棄正則表達(dá)式文字并使用對象構(gòu)造函數(shù),您可以在其中將正則表達(dá)式作為字符串傳遞。
var regex = new RegExp(pattern1+'|'+pattern2, 'gi');
str.match(regex);
添加回答
舉報