正規表示式

2021-08-18 06:03:54 字數 1397 閱讀 1702

正規表示式常用:

\d:匹配任意數字,等價於[0,9]

*:匹配0個或多個的表示式

+:匹配1個或多個的表示式

?:匹配0個或1個由前面的正規表示式定義的片斷,非貪婪方式

.:出\n之外的任意字元

.*:非懶惰模式

.*?:懶惰模式

^:匹配字串開頭

$:匹配字串末尾

re.s:'.'匹配包括

換行在內的所有字元

後邊多乙個?表示懶惰模式。

必須跟在*或者+後邊用

如:src=".*"

匹配結果是:src="test.jpg" width="60px" height="80px"

意思是從="往後匹配,直到最後乙個"匹配結束

懶惰模式正則:

src=".*?"

結果:src="test.jpg"

因為匹配到第乙個"就結束了一次匹配。不會繼續向後匹配。因為他懶惰嘛。

先看**instance:

1 >>> a="123abc456"

2 >>> importre 3 >>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(0)) 4 123abc456 5 >>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(1)) 6 123 7 >>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(2)) 8 abc 9 >>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(3)) 10 456 11 >>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group()) 12 123abc456 13 >>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).groups()) 14 (『123『, 『abc『, 『456『) 15 >>> print(re.search("([0-9])*([a-z])*([0-9]*)", a).groups()) 16 (『3『, 『c『, 『456『) 17 >>> print(re.search("([0-9])*([a-z])*([0-9]*)", a).groups(1)) 18 (『3『, 『c『, 『456『) 19 >>> print(re.search("([0-9])*([a-z])*([0-9]*)", a).group(0)) 20 123abc456 21 >>> print(re.search("([0-9])*([a-z])*([0-9]*)", a).group()) 22 123abc456

(.*?),(\d+),'+'(換行) ???

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

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

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