python 正則式 概述及常用字元

2021-04-27 15:14:35 字數 2199 閱讀 3233

1.元字元:

.   它匹配除了換行字元外的任何字元,在 alternate 模式(re.dotall)下它甚至可以匹配換行

^   匹配行首。除非設定 multiline 標誌,它只是匹配字串的開始。

$   匹配行尾,行尾被定義為要麼是字串尾,要麼是乙個換行字元後面的任何位置。

*   重複0或n次

+   重複1或n次

?   重複0或1次

{}  該限定符的意思是至少有 m 個重複,至多到 n 個重複

它們常用來指定乙個字元類別,所謂字元類別就是你想匹配的乙個字符集

/   反斜槓後面可以加不同的字元以表示不同特殊意義。它也可以用於取消所有的元字元,這樣你就可以在模式中匹配它們了

|    可選項,或者 "or" 操作符。

()  組
2.[akm$]將匹配字元"a", "k", "m", 或 "$" 中的任意乙個;"$"通常用作元字元,但在字元類別裡,其特性被除去,恢復成普通字元。

/d  匹配任何十進位制數;它相當於類 [0-9]。

/d  匹配任何非數字字元;它相當於類 [^0-9]。

/s  匹配任何空白字元;它相當於類  [ /t/n/r/f/v]。

/s  匹配任何非空白字元;它相當於類 [^/t/n/r/f/v]。

/w  匹配任何字母數字字元;它相當於類 [a-za-z0-9_]。

/w  匹配任何非字母數字字元;它相當於類 [^a-za-z0-9_]。

/a  只匹配字串首。當不在 multiline 模式,/a 和 ^ 實際上是一樣的。然而,在 multiline 模式裡它們是不同的;/a 只是匹配字串首,而 ^ 還可以匹配在換行符之後字串的任何位置。

/z  只匹配字串尾。

/b  單詞邊界。這是個零寬界定符(zero-width assertions)只用以匹配單詞的詞首和詞尾。單詞被定義為乙個字母數字序列,因此詞尾就是用空白符或非字母數字符來標示的。

/b  另乙個零寬界定符(zero-width assertions),它正好同 /b 相反,只在當前位置不在單詞邊界時匹配。
4.重複元字元

* 重複0或n次

+ 重複1或n次

? 重複0或1次

,其中 m 和 n 是十進位制整數。該限定符的意思是至少有 m 個重複,至多到 n 個重複
5.regexobject物件常用方法

match()      決定 re 是否在字串剛開始的位置匹配

search()     掃瞄字串,找到這個 re 匹配的位置

findall()      找到 re 匹配的所有子串,並把它們作為乙個列表返回

finditer()    找到 re 匹配的所有子串,並把它們作為乙個迭代器返回
6.matchobject物件的常用方法

group()    返回被 re 匹配的字串

start()     返回匹配開始的位置

end()       返回匹配結束的位置

span()     返回乙個元組包含匹配 (開始,結束) 的位置
7.編譯標誌

dotall, s

使 . 匹配包括換行在內的所有字元

ignorecase, i

使匹配對大小寫不敏感

locale, l

做本地化識別(locale-aware)匹配

multiline, m

多行匹配,影響 ^ 和 $

verbose, x

能夠使用 res 的 verbose 狀態,使之被組織得更清晰易懂

更詳細的正則式說明參考:http://wiki.ubuntu.org.cn/python正規表示式操作指南#.e7.ae.80.e4.bb.8b

python 正規表示式 概述及常用字元

1.元字元 它匹配除了換行字元外的 任何字元,在 alternate 模式 re.dotall 下它甚至可以匹配換行 匹配行首。除非設定 multiline 標誌,它只是匹配字串的開始。匹配行尾,行尾被定義為要麼是字串尾,要麼是乙個換行字元後面的任何位置。重複0或n次 重複1或n次 重複0或1次 該...

python 正規表示式 概述及常用字元

1.元字元 它匹配除了換行字元外的任何字元,在 alternate 模式 re.dotall 下它甚至可以匹配換行 匹配行首。除非設定 multiline 標誌,它只是匹配字串的開始。匹配行尾,行尾被定義為要麼是字串尾,要麼是乙個換行字元後面的任何位置。重複0或n次 重複1或n次 重複0或1次 該限...

python常用字串 Python常用字串操作

1.字串首字母大寫 2.統計字串中某個字母的個數 統計字串中某個字母的個數又分兩種情況,在整個字串中統計和在某個索引範圍內統計 1 在整個字串中統計,如下面統計字串str2中字母a的個數 2 在某個索引區間內統計,如下面統計字串str2索引1到10和1到30範圍內字母t的個數 3.求字串的長度 4....