Skip to content
On this page

Js正则错误用法/[\b\B]/

Js正则中/[\b\B]/并不是表示所有的边界,而是指匹配退格符\bB

解释

  • Js中\b表示单词边界,也就是\w和\W的交接空间
  • Js中\B表示非单词边界,也就是\W和\W的交接空间

我们直觉上会认为/[\b\B]/表示所有的边界,因为平时使用/[\w\W\d\D]/等等都是可以匹配正确的,但是/[\b\B]/却不一样。

代码实例

js
/\b/.test('js') // true 匹配了j前面和s后面的边界
/\B/.test('js') // true 匹配了js中间的边界

/[\b\B]/.test('js') // false 匹配不到相应字符

/[\b]/.test('\b') // true 匹配退格符
/[\B]/.test('B') // true 匹配大写字母B

Tips

挺反直觉的用法,踩坑了记录下!

上次更新于: