che*_*vim 22 javascript regex unicode utf-8 word-boundary
在JavaScript中:
"ab abc cab ab ab".replace(/\bab\b/g, "AB");
Run Code Online (Sandbox Code Playgroud)
正确地给了我:
"AB abc cab AB AB"
Run Code Online (Sandbox Code Playgroud)
当我使用utf-8字符时:
"?? ??? ??? ?? ??".replace(/\b??\b/g, "AB");
Run Code Online (Sandbox Code Playgroud)
在字边界运营商似乎并没有工作:
"?? ??? ??? ?? ??"
Run Code Online (Sandbox Code Playgroud)
这个问题有方法解决吗?
Gum*_*mbo 25
如果单词字符不在另一个单词字符之前或后面,则单词边界断言仅匹配(因此.\b.等于\W\w和\w\W).并\w定义为[A-Za-z0-9_].所以\w与希腊字符不匹配.因此你无法使用\b这种情况.
你可以做的是使用这个:
"?? ??? ??? ?? ??".replace(/(^|\s)??(?=\s|$)/g, "$1AB")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11245 次 |
| 最近记录: |