赞
踩
最近重新学了一下正则表达式,当进行到定位符 \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存在单词边界所以打印了 d
, 为\W,其右边的 1 为\w,所以打印 ,
3 为 \w,其右边的 文 为\W,所以打印 3
其它同理,这里省略.
以上就是本人对单词边界的一点心得
文章若有不当之处欢迎指正
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。