JavaScript测试RegExp函数非拉丁字符错误
嗯,我在使用控制台时注意到了这一点JavaScript测试RegExp函数非拉丁字符错误,javascript,regex,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"); t
> 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
我很乐意阅读您关于修复此问题的建议。
\b
仅指ASCII感知中的单词边界。您可以创建DIY边界。另外,如果您已经知道模式将保持不变,请使用正则表达式文字,如下所示:
/(^| )абв( |$)/.test("абв"); // true
问题是单词边界,在这种情况下,你需要创建DIY边界<代码>变量a=/(^ |)бббббб(|$)/@hwnd好的,谢谢=)