我在简单的正则表达式匹配方面遇到了很多问题.
我有这个带有重音字符的字符串(这只是一个例子)"Botó Entrepà Nadó Facebook! "我希望使用另一个列表中的单词来匹配单词.
这是我的代码的简化版本.例如匹配" Botó"
var matchExpr = new RegExp ('\\b' + 'Botó' + '\\b','i');
"Botó Entrepà Nadó Facebook! ".match(matchExpr);
Run Code Online (Sandbox Code Playgroud)
如果我运行它,它与Botó预期不匹配(Firefox,IE和Chrome).
我认为这是我的错误.但有趣的是......
如果我像这样修改字符串"Botón Entrepà Nadó Facebook! "(请注意" n"之后的" Botó")并运行相同的代码:
var matchExpr = new RegExp ('\\b' + 'Botó' + '\\b','i');
"Botón Entrepà Nadó Facebook! ".match(matchExpr);
Run Code Online (Sandbox Code Playgroud)
它匹配" Botó"!!!! ????? (至少在Firefox中).这对我n来说没有意义,因为" "不是一个单词边界(匹配\b).
如果您尝试匹配整个单词:
var matchExpr = new RegExp ('\\b' + 'Botón' + '\\b','i');
"Botón Entrepà Nadó …Run Code Online (Sandbox Code Playgroud)