一、什麼是正規表示式?
正規表示式(regular expression)是一種處理字串匹配的語言
正規表示式描述了一種字串匹配的模式,可以用來檢查乙個字串是否含有某種子串,對匹配到的子串進行「取出」或「替換」操作
二、正規表示式的應用
正規表示式在實際開發過程中非常實用,能夠快速解決一些複雜的字串處理問題,可以分為以下幾類:
1、資料驗證
比如,你要驗證乙個字串是否是正確的email,telphone,ip等,使用正規表示式是非常方便的
2、內容查詢
比如,你要抓取乙個網頁的,那麼你肯定要找到
標籤,這時實用正規表示式可以精準的匹配到
3、內容替換
比如,你要把手機號碼中間四位數字隱藏掉變成這種模式,123****8901,那麼採用正規表示式也會很方便
三、正規表示式有哪些內容
1、正規表示式的幾個重要概念
1)子表示式:在正規表示式中,如果使用「()」括起來的內容,稱之為子表示式
2)捕獲:子表示式匹配到的結果會被系統放到緩衝區中,這個過程,我們稱之為捕獲
3)反向引用:我們使用「\n」,其中n是數字,表示引用之前某個緩衝區之間的內容,我們稱之為「反向引用」
2、數量限定符
x+ 表示:1或多個
x* 表示:0或多個
x? 表示:0或1個
x 表示:n個
x 表示:至少n個
x 表示:n至m個,貪婪原則,會盡可能匹配多個;如果在後面加個?,則為非貪婪原則
注:x表示要查詢的字元
3、字元限定符
\d 表示:匹配乙個數字字元,[0-9]
\d 表示:匹配乙個非數字字元,[^0-9]
\w 表示:匹配包括下劃線在內的單詞字元,[0-9a-za-z]
\w 表示:匹配任何非單詞字元,[^0-9a-za-z]
\s 表示:匹配任何空白字元,空格,回車,製表符,
\s 表示:匹配任何非空白字元
. 表示:匹配任何單個字元
此外還有如下幾種:
範圍字元:[a-z]、[a-z]、[0-9]、[0-9a-z]、[0-9a-za-z]
任意字元:[abcd]、[1234]
非在內的字元:[^a-z]、[^0-9]、[^abcd]
4、定位符
^ 表示:開頭標識
$ 表示:結尾標識
\b 表示:單詞邊界
\b 表示:非單詞邊界
5、轉義符
\ 用於匹配某些特殊字元
6、選擇匹配符
| 可以匹配多個規則
7、特殊用法
(?=) 正向預查:匹配以指定內容結束的字串
(?!) 負向預查:匹配不是以指定內容結束的字串
(?:) 不把選擇匹配符的內容放到緩衝區
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...