将JavaScript正则表达式合并为一个

时间:2013-01-26 05:17:15

标签: javascript regex

我想将这些JavaScript正则表达式组合成一个正则表达式。我怎样才能做到这一点?我尝试过使用' |'运算符中间的字符串,但这不起作用。

var r1 = new RegExp(id + '\\s*===\\s*TRUE', 'gm');
var r2 = new RegExp(id + '\\s*===\\s*true', 'gm');
var r3 = new RegExp(id + '\\s*===\\s*FALSE', 'gm');
var r4 = new RegExp(id + '\\s*===\\s*false', 'gm');
var r5 = new RegExp(id + '\\s*!==\\s*TRUE', 'gm');
var r6 = new RegExp(id + '\\s*!==\\s*true', 'gm');
var r7 = new RegExp(id + '\\s*!==\\s*FALSE', 'gm');
var r8 = new RegExp(id + '\\s*!==\\s*false', 'gm');

2 个答案:

答案 0 :(得分:1)

试试这个:

var r = new RegExp(id+"\\s*[!=]==\\s*(?:true|false)","gi");

我删除了m修饰符,因为它不适用于此处,并添加了i修饰符来处理所有案例选项。

答案 1 :(得分:0)

在这个特定情况下

new RegExp(id + '\\s*[!=]==\\s*(?:TRUE|true|false|FALSE)', 'gm')

应该这样做。

在一般情况下,用“|”连接字符串应该工作。

如果你也想接受'fAlSe'和类似的字符串,@ Kolink的答案会更好。