\b 单词边界,是指单词与符号之间的边界,是一个位置,不是空格或字符。(这里单词可以是中文字符,英文字符,数字;
符号可以是中文符号,英文符号,空格,制表符,换行)。不能与量词?+*{1}{2,5}等连用
\B 非单词边界,是指符号与符号,单词与单词的边界,不能与量词连用
举列:
1.单词边界
var str = ‘ 2 ‘;//其中空格与2之间的位置叫做单词边界,匹配\b
2.非单词边界
var str = ",,,,,和呵呵,,,,,"; var reg = ‘\B呵\B‘;//reg匹配中间的呵,其两侧都是字符,中间的位置为非单词边界。
3.统计以“,”分割的元素中“3”的个数
var test = "137,1,33,4,3,6,21,3,35,93,2,98"; var count = test.match(test, "\b3\b").length; //结果:2
4.千分位分割数字,将输出成7,654,321这样的格式
‘7654321‘.replace(/\B(?=(\d{3})+(?!\d))/g,‘,‘) //7,654,321(匹配末尾是非数字,中间是连续3位数字整倍数的非单词边界) ‘99893‘.replace(/\B(?=(?:\d{3})+$)/g, ‘,‘) // ‘99,893‘
5.手机号344分割
‘12345678901‘.replace(/\B(?=(?:\d{4})+$)/g, ‘-‘) // ‘123-4567-8901‘
参考: http://blog.csdn.net/qq_33248299/article/details/53559924
https://segmentfault.com/q/1010000004508861
http://www.jb51.net/article/19330.htm
https://juejin.im/post/5964e1ca51882568d2248b61
时间: 2024-11-05 18:29:00