正則總結1之匹配內容及數量

2022-09-04 06:30:16 字數 1802 閱讀 1135

正則是測試工程師的乙個常用知識重點,特別是在自動化測試(斷言)、介面測試(斷言)、以及字串查詢、修改、替換等相關操作時:

\d                           #表示數字

\d                           #表示非數字

\w                          #表示數字或字母

\w                          #表示既非數字也非字母

\s                          #表示空白\n \r \t

\s                          #表示非空白

\b                          #表示以空白開頭、結尾或非其他字元拼接的如re.serach(r"\btest\b","test "),匹配test

.                            #表示匹配乙個非\n的任意字元,可以多個點.多個點表示匹配多個

..                           #表示匹配兩個連續非\n的任意字元,可以多個點.多個點表示匹配多個連續非\n的任意字元

?                          #抑制貪婪性,按最少的匹配

+                          #表示乙個或多個

+?                         #表示匹配乙個

*                          #表示0個或者多個,如果沒有匹配上,也表示匹配成功,返回''空

*?                          #表示匹配為空,匹配成功

()                          #表示將匹配的內容分組,匹配成功後,可以通過group()來指定輸出的部分

#表示內範圍內的單個字元

+                        表示內範圍內的盡可能多的字元

#表示匹配的長度或數量,匹配2個數量

#表示1到3個數量

$                          #表示從結尾匹配,示例:re.search(r"55$","123frrt55"),匹配出結尾55

\z                         #表示從結尾匹配,等價於$

^                          #無括號時,表示從開頭匹配,示例:re.search(r"^123","123frrt"),匹配出開頭123

\a                         #從開頭匹配,等價於^

re.i                        #忽略大小寫,示例:re.search(r"a","bca",re.i),匹配出a

re.dotall            #與.搭配使用時,點可以匹配任意字元,包含\n換行

re.m                       #匹配多行末尾是否匹配re.search(r"a$","bcan\dea\n45a\n",re.m)

re.s                        #多行時,把\n當做普通字元(把多行作為乙個字串匹配)

正則匹配 持續總結)

匹配 括號 匹配 點.表示.出現1次或者0次 a za z 正則匹配只含英文的字母 非 非 re.subn rawstring 將rawstring中符合正則匹配 的全部替換成 查詢字串line中第乙個符合正則匹配的字串,如果沒有,返回none,否則可以再tmp.group 0 裡面取 tmp re...

爬蟲之正則匹配

資料解析原理概述 案例 這裡爬取的是糗事百科中的部分,我們可以先檢查一下頁面的html。可以看到,所有都以這樣的標籤形式儲存在頁面中,所以我們要想爬取頁面上的,首先應該先獲取頁面的html檔案,然後以正規表示式,讓的標籤與整個html進行匹配,從而獲取到所有的src。如下 if name main ...

PHP正則之遞迴匹配

正則是否能處理括號配對的正則匹配.比如,對於如下的待匹配的字串 就是乙個括號配對的字串.而對於如下的待匹配字串 則不是乙個括號配對的字串.在以前,這種情況,正則無法處理,最多只能處理固定層數的遞迴,而無法處理無線遞迴的情況 而在perl 5.6以後,引入了乙個新的特性 recursive patte...