re庫的部分方法
詳細匹配規則請參考菜鳥教程。
在正規表示式裡面寫入普通字元,則可以直接匹配出來。
字元作用
\w匹配字母、數字、下劃線
\w匹配非字母、非數字、非下劃線
\s匹配空白字元
\s匹配非空白字元
\d匹配數字
\d匹配非數字
\a匹配字串開頭
\z匹配字串結尾(包括換行)
\z匹配字串結尾(不包括換行)
\n匹配換行符
\t匹配製表符
^匹配字串開頭
$匹配字串結尾
*匹配0個以上的任意字元
+匹配1個以上的任意字元
字元作用
匹配一組字元,匹配內的任意字元
()匹配括號內的表示式,或乙個組
|a|b匹配a或b
匹配n個前面的表示式
?匹配0-1個前面的表示式定義的片段
匹配m-n個前面的表示式定義的片段
由於正規表示式裡面的很多字元都有其獨特的作用,故此,需要用一種方式來匹配這些有作用的字元。
就是在這些字元前面加上「\」。
這些字元包括:
特殊字元
匹配方法^\^
*\*+\+
.\.?\?
|\|\[{}
\{()
\ ( \ )\\\
修飾符為正規表示式裡面新增的標誌,用於控制匹配模式。
修飾符作用
re.i
匹配對大小寫不敏感
re.m
可以匹配多行
re.s
使.可以匹配換行
re.u
匹配unicode解析字元
match會從字串的頭開始進行匹配,如果開頭不匹配,則返回none。
sentence =
"hello! i'm 12218. ✧٩(ˊωˋ*)و✧"
text = re.match(r'^hello.*?(\d+).*'
, sentence)
print
(text)
print
(text.group())
print
(text.group(0)
)# group()和group(0)作用一樣,都是匹配到的全部字串
print
(text.group(1)
)# group(1)是取匹配到的第乙個字串
search會從字串的任意位置開始進行匹配,如果非發現匹配部分,則返回none。
text = re.search(r'ello.*?(\d+).*'
, sentence)
# search會從字串的任意位置開始進行匹配
print
(text)
print
(text.group())
print
(text.group(0)
)print
(text.group(1)
)
findall是從字串裡面尋找所有符合條件的匹配部分,匹配部分返回乙個列表型別,如果非發現匹配部分,則返回空列表。
text = re.findall(r'\d'
, sentence)
# findall是從字串裡面尋找所有符合條件的匹配部分
print
(text)
print
(type
(text)
)
compile的方法是用於將乙個正規表示式編譯成乙個正規表示式物件,以便重複使用。
content = re.
compile
(r'.*?(\d+).*?'
)# 將乙個正規表示式編譯成乙個正規表示式物件,可以更方便地使用
text = re.findall(content, sentence)
print
(text)
完整版**請移步我的github。 從零開始的python爬蟲教程 Day05
beautiful soup 是乙個可以從html或xml檔案中提取資料的python庫.它能夠通過你喜歡的轉換器實現慣用的文件導航,查詢,修改文件的方式.beautiful soup會幫你節省數小時甚至數天的工作時間.摘自beautifulsoup中文文件 和lxml庫一樣,beautifulso...
從零開始的python爬蟲教程 Day03
re庫的部分方法 詳細匹配規則請參考菜鳥教程。在正規表示式裡面寫入普通字元,則可以直接匹配出來。字元作用 w匹配字母 數字 下劃線 w匹配非字母 非數字 非下劃線 s匹配空白字元 s匹配非空白字元 d匹配數字 d匹配非數字 a匹配字串開頭 z匹配字串結尾 包括換行 z匹配字串結尾 不包括換行 n匹配...
C C 從零開始的Make教程
include int main 為了編譯生成對應的可執行檔案,你可能會使用下面的命令 cc o hello hello.c hello hello,world 但是,如果使用make 前提是你的作業系統已經安裝了gcc和gnu make 會顯得更清爽一些。make hello cc hello.c...