由於最近在學習python爬蟲,遇到了繞腦的正規表示式。一般正常的正規表示式非常精煉而且高效,但是當我們過了一段時間後,別人甚至自己再次閱讀自己寫的正規表示式時,甚至仍會犯迷糊,於是藉此機會,我將一些常用的正規表示式書寫規範列寫在下方每個表示式我都會配以例子:
import random
import string
import re
#隨機生成字串列表
list=[
]for i in
range(5
):list
''.join(random.sample(string.ascii_letters + string.digits,8)
))forstr
inlist
:print
(str
)print
("-------------------------"
)for
strin
list
:if re.match(
'正規表示式寫在這'
,str)is
notnone
:print
(str
)else
:break
這段**生成隨機5個字串並放入列表的程式,隨後與正規表示式進行比較,如果有符合該正規表示式的列表項,則再一次輸出它。
1、+:匹配括號裡的字元至少出現一次
.
*(c+).
*
有效果的輸出為
jafx5wc6
tpy4n2ig
mr3sbbxh
5nfr**4t
hn8vlidk--
----
----
----
----
----
---jafx5wc6
2、:匹配括號中的任何乙個字元
[a-z]
.*
有效果的輸出為:
這裡的目的就是將含有數字的**略去了
nvnk3grl
hbxedprw
7ibs6ijl
2tibusvr
lfjko3cp--
----
----
----
----
----
---nvnk3grl
hbxedprw
3、|:或表達,匹配|符號兩端的任意乙個字元
'.*[a|b].*'
有效果的輸出為:
qurbwjvp
mgiudl62
8f64lbfm
myxrne8c
skhu7i0y--
----
----
----
----
----
---qurbwjvp
4、.和*:我之前已經用過這個符號幾次了
.代表萬用字元,表示任何單個字元
而星號(因為markdown寫星號有特殊意義所以就用中文代替了-_-)表示的是重複多次(多次是指兩次或兩次以上)或沒有。這樣看來,星號帶表的意思和+號差不多,僅僅就是在單單一次和沒有這兩種情況的差別。
還有許多其他常用的正規表示式,筆者這裡就不一一寫出來了。
jmeter正規表示式書寫
在測試過程中,經常會有以下幾種場景,如a介面的返回值,用於b介面中,而且a登陸的賬戶,每次登陸,這個sid值還是變化的。那麼在實際工作中,如何才能a介面中提取引數到b介面中?接下來我們就可以用正規表示式來解決這個問題。場景如下,乙個登陸介面,登陸後要使用該賬號去購買標,買標的時候要使用a的登陸資訊值...
正規表示式的書寫規則
有時候我們需要用到正規表示式,正規表示式的書寫規則如下 例如輸入驗證使用者密碼的正規表示式 a za z w 表示密碼規則是以字母開頭,長度在6 18之間,只能包含字母 數字和下劃線。l d任意乙個數字,0 9中的任意乙個 l w任意乙個字母或數字或下劃線,也就是a z,a z,0 9中任意乙個 l...
正規表示式的基本書寫語法
正規表示式 基本書寫語法 1 表示匹配字串的開始位置 例外 用在中括號中 時,可以理解為取反,表示不匹配括號中字串 2 表示匹配字串的結束位置 3 表示匹配 零次到多次 4 表示匹配 一次到多次 至少有一次 5 表示匹配零次或一次 6 表示匹配單個字元 7 表示為或者,兩項中取一項 8 小括號表示匹...