python的正規表示式

2022-06-02 10:03:09 字數 1165 閱讀 1836

1、正規表示式語法

正規表示式可以指定乙個模式,來匹配對應的字串。

特殊字元要麼表示某個類別的普通字元,要麼影響它們周圍的正規表示式如何解釋。

正規表示式的模式字串不可以包含空位元組,但可以使用\number

符號指定空位元組,例如

'\x00'

。特殊字元有:

」." 在預設模式下,匹配除換行以

外的任意字元。如果 re.dotall 標誌被指定,則匹配換行符在內的任意字元。

「^"在預設模式下,匹配字串的起始位置。在 re.multiline 標誌被指定,也匹配換行符之後的字元。如正規表示式'^py'匹配字串『py88py』只能得到乙個'py'

「$」在預設模式下,匹配字串的末尾。在 re.multiline 標誌被指定,也匹配換行符之前的位置。

「*」匹配零次或多次前導的模式字串,盡可能多的匹配。      『ab*』可以匹配『a' 'ab' 'abb……(盡可能多匹配)'

「+」匹配乙個或多個前導的模式字串,盡可能多的匹配。      』ab+』可以匹配『ab』 'abbb……'盡可能多

「?」匹配零個個或多個前導的模式字串。                         『ab?』可以匹配『a』  'ab'

「*?」「+?」「??」限定符是貪婪的,它們匹配盡可能多的文字。在限定符之後加上?將使得匹配以非貪婪或最小的方式進行。

「」表示精確匹配前面的正規表示式m個拷貝,較少的匹配將導致整個表示式不能匹配。例如,a將精確匹配6個『a』字元,否則將不能匹配。

""生成的正規表示式匹配前導正規表示式的m到n個重複,嘗試匹配盡可能多的重複。例如,a將匹配3到5個字元a.省略m表示下界為0,省略n表示上界無窮大。

「?」 對於6個字元的字串'aaaaaa',a將匹配5個a,a?將匹配3個a。

「\」 對任意特殊字元進行轉義,允許匹配字元『*』  '?' 等

「」 用來表示乙個字元的集合,在乙個集合中:

「|」 a|b,此處的a和b可以是任意的正規表示式,建立的這個正規表示式要麼匹配a,要麼匹配b,『|』可以用來隔開任意個數的正規表示式。

2、re模組的內容

re模組定義了幾個函式、常量和異常。

re.compile(pattern,flag=0)  將正規表示式模式編譯成乙個正規表示式物件,它可以使用match()和search()方法來進行匹配

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

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

python正規表示式及使用正規表示式的例子

正規表示式 正則表達用來匹配字串 正規表示式匹配過程 正規表示式語法規則 匹配除換行 n 外的任意字串 abcabc 轉義字元,使後乙個字元改變原來的意思 a c a c 字符集,對應的位置可以是字符集中任意字元,字符集中的字元可以逐個列出,也可以給出範圍,如 abc 或 a c 第乙個字元如果是 ...

Python 正規表示式

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