关于对正则表达式中\b单词边界的理解

最近重新学了一下正则表达式,当进行到定位符 \b 时,官方解释是这样的:

\b

匹配一个单词边界,即字与空格间的位置。

\B 非字边界匹配。

当时对单词边界有点陌生,于是去网上查阅了一些资料.总体上了解了单词边界它的含义.

提前写出我对单词边界的结论:

\w == [0-9A-z_]    \W == [^\w]

单词边界是存在于 \w\W 中间的一个没有实际空间的东西.

通俗一点讲,如果存在字符\w和\W相邻,那么这两个字符之间就有单词边界

直接上测试代码:

    var str6 = "abc_d,123中文_d3=efg汉字a";
    var reg6 = /[\d\D]\b/g;
    console.log(str6.match(reg6));

以及打印出来的结果:

(9) ["d", ",", "3", "文", "3", "=", "g", "字", "a"]

正则表达式的意思很简单,就是匹配所有右边存在单词边界的字符,这里不作解释

根据输出的结果,我们来对照结论:

d为\w ,其右边的 ,  为\W存在单词边界所以打印了

为\W,其右边的 1 为\w,所以打印 ,

3 为 \w,其右边的 为\W,所以打印 3

其它同理,这里省略.

以上就是本人对单词边界的一点心得

文章若有不当之处欢迎指正

猜你喜欢

转载自blog.csdn.net/weixin_42636353/article/details/82466892
今日推荐