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