正则表达式返回非预期值

时间:2017-09-12 01:04:08

标签: javascript regex

我希望new RegExp('\b\w{1,7}\b', "i").test('bc4rg6')返回true,因为我想测试字符串“bc4rg6”是字母数字并且有1到7个字符。但是浏览器给出了错误。如何修复它以便我可以测试所述条件?感谢

2 个答案:

答案 0 :(得分:0)

您需要转义字符串中的反斜杠,因为{}是转义为退格符的转义序列。



\b




但如果正则表达式是常量,则不需要使用console.log(new RegExp('\\b\\w{1,7}\\b', "i").test('bc4rg6'));,只需使用RegExp文字。



new RegExp




答案 1 :(得分:0)

RegExp函数不接受字符串作为参数。

而是使用转义斜杠传递Regular Expression模式以指示模式的开始和结束。

new RegExp(/\b\w{1,7}\b/, "i").test('bc4rg6');

您可以在Mozilla上阅读有关RegExp功能的更多信息。