一 不區分大小寫的匹配
通常,正規表示式不區分大小寫。
要讓正規表示式區分大小寫,可以向re.comppile()傳入re.ignorecase或re.i作為第二個引數。
例如:
>>> importre>>> 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函式對字串...