@(deeplearning)
re.match
:從字串的起始位置匹配乙個模式,如果匹配不成功,返回none。
re.match(pattern, string, flags=0)
## object.span(): 返回的是對應的索引。
re.search
: 掃瞄整個字串並返回第乙個成功的匹配。
re.search(pattern, string, flags=0)
re.sub
: 用於替換字串中的匹配項。
re.sub(pattern, repl, string, count=0, flags=0)
## repl: 替換的字串,也可為乙個函式。
## count: 模式匹配後替換的最大次數,預設0表示替換所有的匹配。
re.compile
re.compile(pattern[, flags])
import re
pattern = re.compile(r'\d+')
m = pattern.match('one12twothree34four', 3, 10)
print m.start() # 3
print m.end() # 5
print m.span() # (3, 5)
re.findall
: 匹配所有滿足條件的子串,並返回乙個列表,如果沒有找到匹配的,則返回空列表。
re.findall(string[, pos[, endpos]])
re.finditer
: 匹配所有滿足條件的子串,並返回乙個迭代器。
re.finditer(pattern, string, flags=0)
re.split
: 根據pattern將字串分割後返回列表。
re.split(pattern, string[, maxsplit=0, flags=0])
flags : 可選,表示匹配模式:re.i:忽略大小寫。re.l:表示特殊字符集 \w, \w, \b, \b, \s, \s 依賴於當前環境。
re.m:多行模式。
re.s:即為
.
並且包括換行符在內的任意字元(.
不包括換行符)。re.u:表示特殊字符集 \w, \w, \b, \b, \d, \d, \s, \s 依賴於unicode字元屬性資料庫。
re.x:為了增加可讀性,忽略空格和 # 後面的注釋。
模式
描述
^匹配字串的開頭。
$匹配字串的末尾。
.
匹配任意字元,除了換行符。
[…]用來表示一組字元。例:[amk]匹配』a』,』m』或』k』。
[^…]
不在[…]中的字元。
*匹配0個或多個的表示式。
+匹配1個或多個的表示式。
?匹配0個或1個由前面的正規表示式
定義的片段,非貪婪方式。
精確匹配n個前面表示式。
匹配n到m次由前面的正規表示式定義的片段,貪婪方式。
a|b匹配a或b。
(re)
匹配括號內的表示式。
\w匹配字母數字及下劃線。等價於[a-za-z0-9_]。
\w匹配非字母數字及下劃線。等價於[^a-za-z0-9_]。
\s匹配任意空白字元
,等價於[\t\n\r\f]。
\d匹配任意數字,等價於[0-9]。
\d匹配任意非數字。
\b匹配乙個單詞邊界。
\b匹配非單詞邊界。
(?: re)
類似(…),但是不表示乙個組。
python正規表示式元字元 正規表示式
字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...
Python 正規表示式
1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...
Python正規表示式
學習python自然而然就不得不面對正規表示式這個難題。當初在沒有學習python之前,自己也曾經嘗試著學習過正規表示式,但是那時候感覺很麻煩,很難懂,結果就是不了了之。但是現在學習python我用的書是 python基礎教程 第二版 這本書中對re模組的講解很簡單易懂,內容不多但起碼把人領進門了,...