3 回答
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
您必須使用RegExp:
str.match(new RegExp(pattern1+'|'+pattern2, 'gi'));
當(dāng)我連接字符串時(shí),所有的斜杠都消失了。
如果您的模式中有一個(gè)反斜杠以轉(zhuǎn)義特殊的正則表達(dá)式字符(如\(),則必須在字符串中使用兩個(gè)反斜杠(因?yàn)閈是字符串中的轉(zhuǎn)義字符):new RegExp('\\(')與相同/\(/。
因此,您的模式必須變?yōu)椋?/p>
var pattern1 = ':\\(|:=\\(|:-\\(';
var pattern2 = ':\\(|:=\\(|:-\\(|:\\(|:=\\(|:-\\(';
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊
使用以下內(nèi)容:
var regEx = new RegExp(pattern1+'|'+pattern2, 'gi');
str.match(regEx);
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
您必須放棄正則表達(dá)式文字并使用對象構(gòu)造函數(shù),您可以在其中將正則表達(dá)式作為字符串傳遞。
var regex = new RegExp(pattern1+'|'+pattern2, 'gi');
str.match(regex);
添加回答
舉報(bào)
