javascript正则表达式无法匹配中文单词边界

栏目: Javascript 发布时间:2023-02-10

正则表达式中我们常用\b匹配单词边界,例如:'hi ahi'.match(/\bhi/g),这里只会匹配到第一个hi,\b用于匹配单词边界很好用,但是却无法匹配中文,这个要注意。

使用 \b 匹配单词边界

'hi ahi'.match(/\bhi/g) // ['hi']

不使用 \b

'hi ahi'.match(/\bhi/g) // ['hi', 'hi']

上面这个例子,不使用 \b,ahi 里的 hi 也会被匹配出来

\b 无法匹配中文边界

'这是中文边界 这是中文边界'.match(/\b这是中文边界/g) // null

上面这个例子什么也匹配不到。不要用 \b 匹配中文,不要用 \b 匹配中文,不要用 \b 匹配中文!

本文地址:https://www.tides.cn/p_js-regexp-can-not-match-chinese-boundary

标签: 正则表达式