re模組
[字元組] #在同乙個位置上可能出現的各種字元組成乙個字元組。
字元:. 匹配除換行符以外的任意字元(乙個字元)
\w 匹配字母或數字或下劃線
\s 匹配任意的空白符
(tab,空格等)
\d 匹配數字
\n 匹配乙個換行符
\t 匹配乙個製表符
\b 匹配乙個單詞的結尾(需要指定結尾的字元)
^ 匹配字串的開始(寫在開頭)
¥ 匹配字串的結尾(寫在結尾)
\w 匹配非字母或非數字或非下劃線
\d 匹配非數字
\s 匹配非空格符
a|b 匹配字元a或b (優先匹配左邊)
() 匹配括號內的表示式,也表示乙個組。(對整體進行量詞約束)
[...] 匹配字元組中的字元
[^...] 匹配除了字串中字元的所有字元
量詞:* 重複零次或更多次
+ 重複一次或更多次
? 重複零次或一次
重複n次
重複n次貨更多次
重複n到m次
匹配是貪戀匹配,盡可能多的匹配到,如果後面加上?則會變成非貪婪匹配,最小匹配。
轉義符:
r』\n』 #前面的r表示不需要轉義
re.findall(『正則』,『字串』) #查詢出所有的匹配項,並返回成列表
輸出會是 oldbody,因為正則裡的()分組的原因,如要列印所有,需要在條件中修改成:www.(?:baidu|oldbody).com
re.search(『正則』,『字串』) #查詢,無返回空,有則返回包含匹配資訊的物件(找到第乙個就返回),需要用 返回值.group() 來列印結果。
re.match(『正則』,『字串』) #必須從頭開始匹配。同樣返回需要用group()來顯示。匹配不上則返回none。
re.split(『正則』,『字串』) # [ab] 分隔 babcd,先用a分隔,再用b對後面的進行分隔。分隔時,如果前面沒有元素,則用空填補。
如果正則變成分組,將會保留分隔標識,標識自成乙個元素。
re.sub(『\b』,』h』,』abcd1hasd』,1) #把字串中的數字(\b)替換成h,只替換乙個。預設是全部替換。
re.subn(『\b』,』h』,』abcd1hasd』) #返回替換的結果跟替換的次數,結果是乙個元組。
obj =re.compile(『\b』) #將正規表示式編譯成乙個正規表示式物件。
ret = obj.search(『abdedf122agcd』) #正規表示式物件呼叫search,引數為待匹配物件。
<(?p\w+)>\w+?p=tag_name)>
後面的tag_name 為引用分組,表示跟前面的匹配內容一致。
(?p\b) ?p 給這個分組起名字為id,用group()索引時可以用id來查詢。
.group(『tag_name』) #返回 h1
.group() #返回
re.search(r」<(\w+)>\w+\1>」,」」) #\1表示第乙個分組
ret = re.finditer(『\d』,』adef2fad3fadfa』) #返回乙個存放匹配結果的迭代器
for i in ret:
print(i.group()) #需要group()來看結果。
需要group()出結果的,正則如果分組,將會自動變成多個輸出,用group的引數控制當索引進行輸出。
flag
re.i #忽略大小寫
re.m #多行模式,改變^和$的行為
re.s #點可以匹配任意字元,包括換行符
re.l #做本地化識別的匹配,表示特殊字符集\w,\w,\b,\b,\s,\s依賴當前環境,不推薦使用。
re.u #使用 \w \w \s \s \d \d取決於unicode定義的字元屬性,python3中預設使用該flag
re.x #冗長模式,該模式下pattern字串可以是多行的,忽略空白字元,並可以新增注釋。
| (或) #從左往右匹配,匹配上就不繼續匹配了,所以應該把長的放前面。
os模組 2023年8月16
os.getcwd 獲取當前工作目錄,即當前python指令碼工作的路徑。os.chdir 改變當前指令碼的工作目錄。os.makedirs dirname1 dirname2 可生成多層遞迴目錄 os.removedirs dirname1 若目錄為空,則刪除,並遞迴到上一級目錄,若也為空,則刪除...
2023年8月27記錄
1.python cv2 包 import cv2 img cv2.imread imgfile cv2.imshow img win name img cv2.waitkey 0 無限期等待輸入 cv2.imwrite write file name img 2.scikit image 包 im...
9月11日學習內容整理 正規表示式,re模組
一 正規表示式 正則是很大的乙個知識點,不會僅僅是下面這些東西 1 概念 正規表示式就是一種對字串匹配的規則,注意是只對字串,正規表示式和python沒啥關係,2 表示式 1 字符集 用中括號表示,例如 1 9 012345 a z1 9 a z 字符集代表的是乙個字元的匹配規則,不需寫標點符號,可...