\w 匹配字母數字及下劃線\w 匹配f非字母數字下劃線
\s 匹配任意空白字元,等價於[\t\n\r\f]
\s 匹配任意非空字元
\d 匹配任意數字
\d 匹配任意非數字
\a 匹配字串開始
\z 匹配字串結束,如果存在換行,只匹配換行前的結束字串
\z 匹配字串結束
\g 匹配最後匹配完成的位置
\n 匹配乙個換行符
\t 匹配乙個製表符
^ 匹配字串的開頭
$ 匹配字串的末尾
. 匹配任意字元,除了換行符,re.dotall標記被指定時,則可以匹配包括換行符的任意字元
[....] 用來表示一組字元,單獨列出:[amk]匹配a,m或k
[^...] 不在中的字元:[^abc]匹配除了a,b,c之外的字元
* 匹配0個或多個的表示式
+ 匹配1個或者多個的表示式
? 匹配0個或1個由前面的正規表示式定義的片段,非貪婪方式
精確匹配n前面的表示
匹配n到m次由前面的正規表示式定義片段,貪婪模式
a|b 匹配a或者b
() 匹配括號內的表示式,也表示乙個組
1)match()方法
從字串的起始位置匹配乙個模式,如果不是起始位置匹配的話,match()就會返回none
語法格式:re.match(pattern,string,flags=0)
result.group()獲取匹配的結果,result.span()獲去匹配字串的長度範圍
importrecontent= "
hello 123 4567 world_this is a regex demo
"result = re.match('
^hello\s\d\d\d\s\d\s\w.*demo$
',content)
(result)
(result.group())
print(result.span())
匹配模式
re.i 使匹配對大小寫不敏感re.l 做本地化識別(locale-aware)匹配
re.m 多行匹配,影響^和$
re.s 使.匹配包括換行在內的所有字元
re.u 根據unicode字符集解析字元。這個標誌影響\w、\w、 \b和\b
re.x 該標誌通過給予你更靈活的格式以便你將正規表示式寫得更易於理解
很多時候匹配的內容是存在換行的問題的,這個時候的就需要用到匹配模式re.s來匹配換行的內容
importrecontent = """
hello 123456 world_this
my name is zhaofan
"""result =re.match('
^he.*?(\d+).*?zhaofan$
',content,re.s)
(result)
(result.group())
print(result.group(1))
2)search()方法
在匹配時會掃瞄整個字串,然後返回第乙個成功匹配的結果。re.search(正規表示式,原字串)
3)findall()方法
搜尋整個字串,然後返回匹配正規表示式的所有內容。re.findall(正規表示式,原字串)
4)sub()方法
將一串文字中的所有數字都去掉。re.sub(正規表示式,替換成的字串,原字串)
5)compile()方法
將正則字串編譯成正規表示式物件,以便在後面的匹配中復用。
importrecontent= """
hello 12345 world_this
123 fan
"""pattern =re.compile("
hello.*fan
",re.s)
result =re.match(pattern,content)
(result)
print(result.group())
6)split()方法
將字串用給定的正規表示式匹配的字串進行分割,分割後返回結果list。
爬蟲 正規表示式
正規表示式 regular expression 是一種字串匹配的模式 pattern 它可以檢查乙個字串是否含有某種子串 替換匹配的子串 提取某個字串中匹配的子串。匯入正則模組 importre 字元匹配 rs re.findall abc adc print rs rs re.findall a...
正規表示式 8
非列印字元也可以是正規表示式的組成部分。下表列出了表示非列印字元的轉義序列 含義 cx 匹配 x 指示的控制字元。例如,cm 匹配 control m 或回車符。x 的值必須在 a z 或 a z 之間。如果不是這樣,則假定 c 就是 c 字元本身。f換頁符匹配。等效於 x0c 和 cl。n換行符匹...
網路爬蟲之正規表示式Python
1 什麼是正規表示式 正規表示式是一種進行資料篩選的表示式 2 原子 原子是正規表示式中最基本的組成單位,每個正規表示式中至少要包含乙個原子。常見的原子型別有 a 普通字元作為原子 b 非列印字元作為原子 c 通用字元作為原子 d 原子表 實戰操作 匯入模組 import re import re ...