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更詳細的正則式說明參考:http://wiki.ubuntu.org.cn/python正規表示式操作指南#.e7.ae.80.e4.bb.8b能夠使用 res 的 verbose 狀態,使之被組織得更清晰易懂
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....