深入浅出正则表达式中的边界\b和\B

2022-04-14 22:48:15
目录
边界单词b 单词边界

理解了 b,B就好理解了。

它匹配的也是 边界 ,针对的是 与 b 相反 的 非单词(W)。

也就是,左右占位的字符,都必须是 w。

或者说 所有不能被b匹配的 边界。

console.log('0aZ_'.replace(/B/g, '.')) // 0.a.Z._console.log('a+a'.replace(/B/g, '.')) // a+a.console.log('a a'.replace(/B/g, '.')) // a a

举列

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, "b3b").length; //www.easck.com结果: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'

总结