有時候我們需要用到正規表示式,正規表示式的書寫規則如下:
例如輸入驗證使用者密碼的正規表示式:「^[a-za-z]\w$」表示密碼規則是以字母開頭,長度在6-18之間,只能包含字母、數字和下劃線。
l \d任意乙個數字,0~9中的任意乙個
l \w任意乙個字母或數字或下劃線,也就是a-z,a-z,0-9中任意乙個
l \s包括空格、製表符、換頁符等空白字元的其中任意乙個
l .小數點可以匹配除了換行符(\n)以外的任意乙個字元
l ^開始
l $結束
一些表示式的作用:
:表示重複n次,比如"\w"相當於"\w\w";"a"相當於 "aaaaa"
:表示至少重複m次,最多重複n次,比如"ba"可以匹配 "ba"或"baa"或"baaa"
:表示至少重複m次,比如"\w\d"可以匹配 "a12","_456","m12344"
?:匹配表示式0次或者1次,相當於 ,比如"a[cd]?"可以匹配 "a","ac","ad"
+:表示式至少出現1次,相當於 ,比如"a+b"可以匹配 "ab","aab","aaab"
*:表示式不出現或出現任意次,相當於 ,比如"\^*b"可以匹配 "b","^^^b"。
一些常用小例子舉例:
(1) 檢查手機號是否合法:^1(3\d|5[36789])\d$
說明:這裡以此規則為例,手機號共11位,第一位為1,第二位為3或者5,當第二位為5的時候,第三位只能是36789中的乙個
(2) 檢查中文名是否合法:^[\u4e00-\u9fa5]+$
說明:若不是中文或中文的前後有空格,都認為是不合法的
(3) 檢查html標記是否匹配:<(.*)>.*<\/\1>|<(.*) \/>
說明:如若只出現而無對應的,則檢驗結果是html標記不匹配
(4) 檢查url格式是否合法:[a-za-z]+://[^\s]*
說明:url合法格式應該以字母連線://開頭
(5) 檢查ip格式是否合法:(\d+)\.(\d+)\.(\d+)\.(\d+)
說明:ip的格式是點分十進位制格式,例如:192.168.100.11就是正確的ip
(6) 檢查賬號是否合法:^[a-za-z][a-za-z0-9_]$
說明:賬號字母開頭,其他位可以有大小寫字母、數字、下劃線,允許5-16位元組
(7) 檢查qq號是否合法:^\s*[0-9]\s*$
說明:qq號碼必須是數字,最短5位,最長10位
說明:郵編首位不為0,長度是6位的數字
(9) 檢查身份證號是否合法:(^\d$)|(^\d([0-9]|x)$)
說明:身份證號碼為15位或者18位,15位時全為數字,18位前17位為數字,最後一位是校驗位,可能為數字或字元x
如果是在js中使用正規表示式,則需要在正規表示式前後加「/」,如建廠手機號碼是否合法:/^1(3\d|5[36789])\d$/
正規表示式的書寫
由於最近在學習python爬蟲,遇到了繞腦的正規表示式。一般正常的正規表示式非常精煉而且高效,但是當我們過了一段時間後,別人甚至自己再次閱讀自己寫的正規表示式時,甚至仍會犯迷糊,於是藉此機會,我將一些常用的正規表示式書寫規範列寫在下方每個表示式我都會配以例子 import random import...
正規表示式 規則表示式
今天學習了正規表示式的一些基礎知識,1.概念 首先了解了一下正規表示式的含義 一些便於計算機識別的規則,能夠快速方便地對字元進行操作。而對於計算機而言,也有一寫規則表示式,它是能令計算機讀懂的 所以對我們來說看起來比較費勁 也相當於計算機的常識,一遇到就知道你要幹什麼。2.建立正則物件 var re...
jmeter正規表示式書寫
在測試過程中,經常會有以下幾種場景,如a介面的返回值,用於b介面中,而且a登陸的賬戶,每次登陸,這個sid值還是變化的。那麼在實際工作中,如何才能a介面中提取引數到b介面中?接下來我們就可以用正規表示式來解決這個問題。場景如下,乙個登陸介面,登陸後要使用該賬號去購買標,買標的時候要使用a的登陸資訊值...