Python瓦匠 正規表示式(六)

2022-07-27 04:30:15 字數 1316 閱讀 4934

一 不區分大小寫的匹配

通常,正規表示式不區分大小寫。

要讓正規表示式區分大小寫,可以向re.comppile()傳入re.ignorecase或re.i作為第二個引數。

例如:

>>> import

re>>> case = re.compile(r'

jack

',re.i)#

忽視大小寫。

>>> mo = case.search('

jack is the best choice!')

>>>mo.group()

'jack

'

二 用sub()方法替換字串

正規表示式可以用新的文字替換舊的文字。

regex物件的sub()方法有兩個引數:乙個用於取代發現的字串,乙個是需要匹配的字串。sub()方法返回替換完成的字串。

例如:

>>> namesregex = re.compile(r'

agent \w+')

>>> namesregex.sub('

jack

','agent is a good boy!

')#返回新的字串。

'jack a good boy!

'

有時候可能需要用匹配的文字本身作為匹配的字串。在sub()中的第乙個引數中,可以輸入\1 , \2 , \3...。表示替換中輸入分組1,2,3...的文字。

例如:

>>> namesregex = re.compile(r'

agent (\w)\w+')

>>> namesregex.sub(r'

\1**

','agent jack is a good boy!')

'j** is a good boy!

'>>>

三 管理複雜的正規表示式

當匹配複雜的文字模式,可能需要難以理解的正規表示式。可以向re.compile()傳入變數re.verbose作為第二個變數。這樣re,compile()會忽略正規表示式中的空白符和注釋,書寫更加可讀的正規表示式。

nameregex = re.compile(r''' 正規表示式 ''',re.verbose)

四 組合使用re.ignorecase、re.dotall、re.verbose

re.compile()只能接收乙個第二個引數。要想要組合使用它們,可以使用管道字元(|)將變數組合起來,從而繞過這個限制。管道在這裡被稱為『按位或』操作符。

nameregex = re.compile('jack',ignorecase|re.dotall|re.verbose)

Python瓦匠 正規表示式 四

一 字元分類 縮寫字元分類 d 0 9的任何數字 d 除0 9的數字以外的任何字元 w 任何字母數字或下劃線字元 可以認為是匹配 單詞 字元 w 除字母,數字和下劃線以外的任何字元 s 空格,製表符或換行符 可以認為是匹配 空白 字元 s 除空格,製表符和換行符以外的任何字元 0 5 表示匹配數字0...

python正規表示式元字元 正規表示式

字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...

Python 正規表示式

1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...