一.正則表達式 為什需要正則:複雜文本的處理,強大而靈活的文本處理工具 大部分編程語言,資料庫,文本編輯器,開發環境都支持正則表達式 定義:描述了一種規則,這個規則可以匹配一類字元串。 開發中如何使用: 分析所要匹配的數據,寫出測試用的典型數據 在工具軟體中進行匹配測試 在程式中調用通過測試的正則表 ...
一.正則表達式
為什需要正則:複雜文本的處理,強大而靈活的文本處理工具
大部分編程語言,資料庫,文本編輯器,開發環境都支持正則表達式
定義:描述了一種規則,這個規則可以匹配一類字元串。
開發中如何使用:
---分析所要匹配的數據,寫出測試用的典型數據
---在工具軟體中進行匹配測試
---在程式中調用通過測試的正則表達式
二.基本語法
@1普通字元
---字母,數字,漢字,下劃線,以及沒有特殊定義的標點符號,都是普通字元。
---表達式中的普通字元在匹配一個字元串時,匹配與它相同的一個字元
@2簡單的轉義字元
---如\n換行符,\t製表符等等
@3標準字元集合
-能夠與“多種字元”匹配的表達式
-註意區分大小寫,大寫是相反的意思
---\d 代表任意一個數字,0-9中任意一個,\D代表非數字字元中的任意一個
---\w 任意一個字母或數字或下劃線,也就是 A-Z,a-z,0-9,_中任意一個,\W代表非\w字元中任意一個
---\s 包括空格,製表符,換行符等空白字元中任意一個,\S代表非空白字元中任意一個
---小數點可以匹配任意一個字元,如果要匹配包括\n在內所有字元,一般用[\s\S] 匹配任意一個字元
@4自定義字元集合
---[]方括弧匹配方式,能夠匹配方括弧中任意一個字元
---[ab5@] 匹配"a",或"b"或"@"中任意一個
---[^abc] 匹配a,b,c之外的任意一個字元
--[f-k] 匹配f-k之間任意一個字母
---[^A-F0-3] 匹配A-F,0-3之外的任意一個字元
@5量詞(Quantifier)
---{n} 表達式重覆n數
---{m,n} 表達式至少重覆m次,最多重覆n次
---{m,} 表達式至少重覆m次
---?匹配表達式0次或者1次,相當於{0,1}
---+表達式至少出現1次,相當於{1,}
---*表達式不出現或出現人一次,相當於{0,}
---匹配次數中的貪婪模式(匹配字元越多越好)
---匹配次數中的非貪婪模式(匹配字元越少越好,修飾匹配次數的特殊符號再加上一個?號)
---\d\d\d表示匹配連著的三個數字
---\d{6} 表示匹配六個連著的數字 {6}修飾自己前一個表達式(\d\d){6}表示12個連著的數字
三.說明:圖片中黃藍表示匹配著的字元