我想将这些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');
答案 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的答案会更好。