Javascript RegExp忽略元字符

时间:2016-07-15 15:37:21

标签: javascript regex

我一直在努力解决这个问题而没有任何运气。如果有人能指出我正确的方向,将不胜感激。

问题是RegExp对象完全忽略 \ b \ s 元字符。

var orOperator = 'or';
var term = 'ipsum';
var str = 'lorem or ipsum or ipsumal';
var regex = new RegExp('(\\s)\\b' + orOperator + '\\s' + term + '\\b', 'gi');
console.log(regex);

str = str.replace(regex, '');

由此产生的正则表达式应该是

/(\s)\bor\sipsum\b/gi

我继续使用这一个(删除Metacharacters)并且我不知道为什么

/(s)orsipsum/gi

解决方案:

正如@Yizheng Shen所说,每个元字符的4个反斜杠就可以了。

var regex = new RegExp('(\\\\s)\\\\b' + orOperator + '\\\\s' + term + '\\\\b', 'gi');

我不知道为什么2个反斜杠不够。欢迎任何建议。 :)

0 个答案:

没有答案