0

我想将这些 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');
4

2 回答 2

1

试试这个:

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

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

于 2013-01-26T05:21:03.273 回答
0

在这种特定情况下

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

应该做的伎俩。

在一般情况下,使用 '|' 连接字符串 应该管用。

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

于 2013-01-26T05:22:32.290 回答