正規表示式

2022-09-13 23:00:43 字數 1719 閱讀 8180

正規表示式:

正規表示式(regular expression,常簡寫為regex或者re),又稱規則表示式,它不是某個程式語言所特有的,是電腦科學的乙個概念,通常被用來檢索和替換符合某些規則的文字。目前,正規表示式已經在各種計算機語言(如j**a、 c#和python等)中得到了廣泛的應用和發展。

在python中,可以使用正規表示式進行與字串相關的一些匹配,正規表示式是一種用來匹配字串的強有力**,它只和字串打交道,設計思想是用一種描述行的語言來給字串定義乙個規則,凡是符合規則的字串就認為它「匹配」,否則就不匹配。即從大段的文字中找到符合規則的內容!!!

字元組:

[  ] 寫在中括號中的內容,都出現在下面的某乙個字元的位置上都是符合規則的

[0-9]  匹配數字0-9

[a-z]    匹配a到z的小寫字母

[a-z]  匹配a到z的大寫字母

[a-z

a-z0-9] 匹配大小寫字母+數字

[a-z

a-z0-9

_] 匹配數字字母下滑線

元字元:

量詞:

表示 這個量詞之前的字元出現n次

表示這個量詞之前的字元至少出現n次

表示這個量詞之前的字元出現n-m次

? 表示匹配量詞之前的字元出現 0次 或者 1次 表示可有可無

+ 表示匹配量詞之前的字元出現 1次 或者 多次

* 表示匹配量詞之前的字元出現 0次 或者 多次

. ^ $

正則表達

待匹配的字元

匹配到的結果

說明結.

結果結束結緣

結果結束結緣

匹配所有」海.」的字元

^結.結果結束結緣

結果只從開頭匹配」海.」匹配到了乙個就會停

結.$結果結束結緣

結緣只匹配結尾的」海.」,同上面的相反

正則表達

待匹配的字元

匹配到的結果

說明結.?

結果和結束和結緣

結果結束

結緣?表示重複零次或一次,即只匹配"結"後面乙個任意字元

結.*結果和結束和結緣

結果和結束和結緣

*表示重複零次或多次,即匹配"結"後面0或多個任意字元
結.+結果和結束和結緣

結果和結束和結緣

+表示重複一次或多次,即只匹配"結"後面1個或多個任意字元
結.結果和結束和結緣

結果和結束和

結緣

匹配1到2次任意字元
注意:前面的*,+,?等都是貪婪匹配,也就是盡可能匹配,後面加?號使其變成惰性匹配

正則待匹配字元

匹配結果

說明結.*?

結果和結束和結緣結結

結惰性匹配

正規表示式的匹配特點 :

貪婪匹配,它會在允許的範圍內取最長的結果

非貪婪模式/惰性匹配 : 在量詞的後面加上?

.*?x 匹配任意非換行符字元任意長度 直到遇到x就停止

2023年11月18日

正規表示式 正規表示式 總結

非負整數 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正規表示式 編寫正規表示式

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