如何在javascript中连接正则表达式?

时间:2009-08-23 15:41:42

标签: javascript regex

这是我所要求的:

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)$/;

还是我错过了什么?

2 个答案:

答案 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);