python 部分少見正規表示式 用法

2021-07-25 03:36:26 字數 1152 閱讀 1697

一直以為正規表示式用的不錯了 今晚仔細學習發現很多還不到位,之前忽略的一些用法

1.(...)

匹配括號中的任意正規表示式

2.(?#...)

注釋,忽略括號內的內容

3.(?=...)

表示式'...'之前的字串,

在字串』 liutest 』中 (?=test) 會匹配'liu'

4.(?!...)

後面不跟表示式'...'的字串,

如果』liu』後面不是字串』 test 』,那麼 (?!test) 會匹配'liu'

5.(?<=...)

跟在表示式』…』後面的字串符合括號之後的正規表示式

正規表示式』 (?<=abc)def 』會在』 abcdef 』中匹配』 def 』

6.(?

括號之後的正規表示式不跟在』…』的後面

7.'(?:)'

無組捕獲

當你要將一部分規則作為乙個整體對它進行某些操作,比如指定其重複次數時,你需要將這部分規則用 』(?:』 『)』 把它包圍起來,而不能僅僅只用一對括號,那樣將得到絕對出人意料的結果。

例:匹配字串中重複的 』ab』

>>> s=』ababab abbabb aabaab』

>>> re.findall( r』/b(?:ab)+/b』 , s )

['ababab']

8.(?ilmsux)編譯選項指定

python的正則式可以指定一些選項,這個選項可以寫在findall或compile的引數中,也可以寫在正則式裡,成為正則式的一部分。這在某些情況下會便利一些。具體的選項含義請看後面的compile函式的說明。

此處編譯選項』i』 等價於ignorecase ,l 等價於 local ,m 等價於 multiline ,s 等價於dotall ,u 等價於 unicode , x 等價於 verbose 。

請注意它們的大小寫。在使用時可以只指定一部分,比如只指定忽略大小寫,可寫為 『(?i)』,要同時忽略大小寫並使用多行模式,可以寫為 『(?im)』。

參考:

部分正規表示式

d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d d 非負浮點數 正浮點數 0 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 非正浮點數 負浮點數 ...

正規表示式部分

正規表示式是用來匹配字串的強有力 在正規表示式中,如果直接給出字元,就是精確匹配。用 d可以匹配乙個數字,w可以匹配乙個字母或者數字。要匹配變長的字元,用?表示0個或1個字元,用表示n個字元,用表示n m個字元,等等。要更精確的匹配,可以用表示範圍,比如 a b 可以匹配a或b,表示行的開頭,d 表...

正規表示式部分整理

一 校驗數字的表示式 數字 0 9 n位的數字 d 至少n位的數字 d m n位的數字 d 零和非零開頭的數字 0 1 9 0 9 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 帶1 2位小數的正數或負數 d d 正數 負數 和小數 d d 有兩位小數的正實數 0 9 0 9 有1 3位小...