You have to use RegExp
:
str.match(new RegExp(pattern1+'|'+pattern2, 'gi'));
When I'm concatenating strings, all slashes are gone.
If you have a backslash in your pattern to escape a special regex character, (like (
), you have to use two backslashes in the string (because
is the escape character in a string): new RegExp('\(')
would be the same as /(/
.
So your patterns have to become:
var pattern1 = ':\(|:=\(|:-\(';
var pattern2 = ':\(|:=\(|:-\(|:\(|:=\(|:-\(';
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…