1. "."號的用法
import re
rs1 = re.findall(
"a.c"
,"abc"
)rs2 = re.findall(
"a.c"
,"a\nc"
)print
("rs1 = "
, rs1)
print
("rs2 = "
, rs2)
rs1 =
['abc'
]rs2 =
原因是「.」可以匹配除「\n」以外的任意字元,但是在dotall模式下和s模式下是可以匹配任意字元的,用法如下:
rs2 = re.findall(
"a.c"
,"a\nc"
,flags=re.dotall)
# 或者flags=re.s
2."\"的用法rs = re.findall(
"a\.c"
,"a.c"
)
意思就是如果不加這個「\」符,「.」就會識別任意字元,但是加了之後,這個「.」就是代表乙個字元「.」,而不能代表別的東西了,就不含有這個字元在正則裡面的特殊用法了。當然轉義字元用在其他的符號上依此類推。
3.""的用法
rs = re.findall(
"a[bcd]e"
,"abe"
)
結果會返回rs = [「abe」],因為「」是表示其中的字元乙個符合,就可以匹配目標字元。在這裡就是a,e之間存在bcd中的乙個,即可匹配這個字串。但是如果是"abce",便不可以匹配,會返回空。
4."|"的用法
這個用法非常簡單,就是或的意思,只要符合這些「|」分開的這些表示式中的乙個,就可以滿足這塊內容的匹配。可以放在外面,或者「」裡面,或者「()」裡面。
5.一些字符集的用法,常見的有"\d \d \s \s \w \w".
rs = re.findall(
"a\d"
,"a1"
)# 該式子就可以匹配a加乙個數字字元,其他同理
6.數量詞的用法"* + ? {m}"rs = re.findall(
"a+"
,"aaa"
)# 該式子就可以匹配乙個以上的a字元,同理如果換成*和?就可以實現上述
# 的效果
今天就寫到這裡吧,雖然之前學爬蟲之前就已經學過一段時間的正規表示式,但是忘記記錄了,現在是補錄,時間為 2020/12/18 ,其實也就是簡單的複習了一下re模組的基礎用法。還有諸如match,search,sub,以及貪婪非貪婪的用法,還有r語句的用法,balabala。今天已是凌晨0.14,下班。上述特性更不更看心情 0.0 python正規表示式用法
在這裡插入 片 re.compile pattern,flags 0 操作符說明例項.表示任何單個字元 字符集,對單個字元給出取值範圍 abc 表示a b c,a z 表示a到z單個字元 非字符集,對單個字元給出排除範圍 abc 表示非a或b或c的單個字元 前乙個字元0次或無限次擴充套件 abc 表...
正規表示式用法
正規表示式的概念 什麼是 什麼是正規表示式?是html的乙個變種。一般情況下,論壇不允許你使用 而只能用 替代 是一套由流行的 標籤組成了固定 有統一的格式。使用者只要遵循 規則就可以實現使用者想要的功能。如 想要顯示粗體的how are you 字樣,就應該輸入 how are you而不是輸入h...
正規表示式用法
乙個正規表示式就是由普通字元 例如字元 a 到 z 以及特殊字元 稱為元字元 組成的文字模式。該模式描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 後向引用 或乙個八進位制轉義符。例如,...