正则表达式的\b与\B总结

\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

 

转载于:https://www.cnblogs.com/mengff/p/7291190.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值