\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