JavaScript Test RegExp函数非拉丁字符bug

时间:2015-01-24 17:56:24

标签: javascript regex

嗯,我在使用控制台时注意到了这一点。

> var a = new RegExp('\\b' + "абв" + '\\b', "gim");
> a.test("абв");
false

> var b = new RegExp("абв", "gim");
> b.test("абв");
true

然后用拉丁字符:

> var c = new RegExp('\\b' + "abc" + '\\b', "gim");
> c.test("abc");
true

我很高兴看到你关于解决这个问题的建议。

1 个答案:

答案 0 :(得分:0)

\b仅指ASCII感知中的单词边界。您可以创建 DIY 边界。此外,如果您已经知道模式将保持不变,请使用正则表达式文字,如下所示:

/(^| )абв( |$)/.test("абв"); // true