正則表達式匹配

匹配模式    描述

^ 匹配字符串的開頭
$ 匹配字符串的末尾。
. 匹配任意字符,除了換行符,當re.DOTALL標記被指定時,則可以匹配包括換行符的任意字符。
[...] 匹配[]括號內的任意一個字符:[abc] 匹配 'a','b'或'c';[Pp]ython,匹配Python 或者python
[^...] 匹配不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。
re* 匹配0個或多個的表達式。如:\d*,匹配0個或多個數字
re+ 匹配1個或多個的表達式。如:\d+,匹配1個或多個數字
re? 匹配0個或1個由前面的正則表達式定義的片段,非貪婪方式。\d?,匹配0個或1個數字
re{ n} 匹配n個前面表達式。例如,"o{2}"不能匹配"Bob"中的"o",但是能匹配"food"中的兩個o。
re{ n,} 精確匹配n個前面表達式。例如,"o{2,}"不能匹配"Bob"中的"o",但能匹配"foooood"中的所有o。"o{1,}"等價於"o+"。"o{0,}"則等價於"o*"。
re{ n, m} 匹配 n 到 m 次由前面的正則表達式定義的片段,貪婪方式
a| b 匹配a或b
(re) G匹配括號內的表達式,也表示一個組
(?imx) 正則表達式包含三種可選標誌:i, m, 或 x 。隻影響括號中的區域。
(?-imx) 正則表達式關閉 i, m, 或 x 可選標誌。隻影響括號中的區域。
(?: re) 類似 (...), 但是不表示一個組
(?imx: re) 在括號中使用i, m, 或 x 可選標誌
(?-imx: re) 在括號中不使用i, m, 或 x 可選標誌
(?#...) 註釋.
(?= re) 前向肯定界定符。如果所含正則表達式,以 ... 表示,在當前位置成功匹配時成功,否則失敗。但一旦所含表達式已經嘗試,匹配引擎根本沒有提高;模式的剩餘部分還要嘗試界定符的右邊。
(?! re) 前向否定界定符。與肯定界定符相反;當所含表達式不能在字符串當前位置匹配時成功。
(?> re) 匹配的獨立模式,省去回溯。
\w 匹配數字字母下劃線。等價於'[A-Za-z0-9_]'
\W 匹配非數字字母下劃線。等價於'[^A-Za-z0-9_]'
\s 匹配任意空白字符,等價於 [\t\n\r\f]。
\S 匹配任意非空字符
\d 匹配任意數字,等價於 [0-9]。
\D 匹配任意非數字。等價於[^0-9]
\A 匹配字符串開始
\Z 匹配字符串結束,如果是存在換行,只匹配到換行前的結束字符串。
\z 匹配字符串結束
\G 匹配最後匹配完成的位置。
\b 匹配一個單詞邊界,也就是指單詞和空格間的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
\B 匹配非單詞邊界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。
\n, \t, 等。 匹配一個換行符。匹配一個製表符, 等
\1...\9 匹配第n個分組的內容。
\10 匹配第n個分組的內容,如果它經匹配。否則指的是八進制字符碼的表達式。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章