正規表示式(Regular Expression)

2022-07-08 07:51:17 字數 1692 閱讀 4198

一、什麼是正規表示式?

正規表示式(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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...