目錄
正規表示式中:
我將正則中的位置分為 字元的佔位 和 字元的間隙。
字元的佔位是顯式的www.cppcns.com位置。
以 i'm 程式設計客棧iron man 為例。
肉眼可見的字母 符號 空格都是可以佔位的字元,也就是可以用下標獲取到字元的位置。
字元的間隙是隱式的位置。
即顯示位置之間的位置,比如i和'之間的位置,字串開頭和i之間的位置等。
邊界 指的是佔位的字元左右的間隙位置。
正則中所說的單詞指的是 \w 可以匹配的字元,即數字、大小寫字母以及下劃線 [0-9a-za-z_]
單詞邊界匹配的就是這樣的間隙位置:
左邊佔位的字元或右邊佔位的字元,至少有乙個不是 \w
// 只有首尾位置匹配
console.log('0az_'.replace(/\b/g, '.')) // .0az_.
// +不是\w,所以它的左右間隙都可以被匹配
console.log('a+a'.replace(/\b/g, '.')) // .a.+.a.
// 空格也不是\w,所以它的左右間隙都可以被匹配
console.log('a a'.replace(/\b/g, '.')) // .a. .a.
理解了 \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, "\b3\b").length; //結果:2
4.千分位分割數字,將輸出成7,654,32www.cppcns.com1這樣的格式
'7654321'.replace(/\b(?=(\d)+(?!\d))/g,',')
//7,654,321(匹配末尾是非數字,中間是連續3位數字整倍數的非單詞邊界)
'99893'.replace(/\b(?程式設計客棧;=(\d)+$)/g, ',')
// '99,893'
5.手機號344分割
'12345678901'.replace(/\b(?=(?:\d)+$)/g, '-')
// '123-4567-8901'
深入淺出正規表示式
正規表示式其實還是蠻簡單的,因為它沒有很強的邏輯在裡頭,我們只需要按照它的規則從頭開始依次去讀就好了 話雖這麼說,我相信很多人一開始接觸正則,當看到那一連串 亂七八糟 的字元時,都會一臉懵逼,這是啥玩意?然後就自然而然的認為這東西很複雜,接著打心底就牴觸使用正則,然後開始在網上搜看是否有現成的表示式...
深入淺出之正規表示式
1.什麼是正規表示式 基本說來,正規表示式是一種用來描述一定數量文字的模式。regex代表regular express。本文將用 來表示一段具體的正規表示式。一段文字就是最基本的模式,簡單的匹配相同的文字。2.不同的正規表示式引擎 正規表示式引擎是一種可以處理正規表示式的軟體。通常,引擎是更大的應...
正規表示式深入淺出 深入淺出資料分析
618買的 深入淺出資料分析 前段時間終於看完了,發現閒魚上的市場還不錯,就擺在上面 了,在被賣出之前,我寫了一篇總結,沒想到的是,文章儲存失誤了,現在書已經賣出去了,想重寫只能靠回憶了。深入淺出資料分析 這本書給我最深的感受是excel上 資料分析 和 規劃求解 兩個選項的使用,在這本書之前我知道...