这是不我所要求的:
concatenate multiple regexes into one regex
有没有办法将正则表达式添加到另一个(用javascript语言)?
这样做的原因是为了简化代码维护(例如,如果包含的字符串很长或更容易由非程序员维护)。
例如,在python中,我写了类似的东西:regstr1 = 'dogs|cats|mice'
regstr_container = '^animal: (cows|sheep|%s|zebra)$' % regstr1
re.compile(regstr_container)
然而在javascript中,正则表达式不是字符串。
re = /^animal: (rami|shmulik|dudu)$/;
还是我错过了什么?
答案 0 :(得分:5)
您不必使用文字符号。您可以改为创建一个新的RegExp对象。
var myRegex = new RegExp("^animal: (rami|shmulik|dudu)$");
答案 1 :(得分:2)
var regstr1 = 'dogs|cats|mice',
regstr_container = '^animal: (cows|sheep|'+ regstr1 +'|zebra)$',
regex = RegExp(regstr_container);