雖說正規表示式在我們真正的專案開發過程中,大多數都是直接去查資料,但是對於一些正規表示式的基礎知識還是十分有必要了解的。比如讀懂乙個正規表示式,還有面試的時候很可能會被問到。
(1)學習**:
(2)教程什麼的看的太煩了,而且還有些東西並不是很實用,下面花10分鐘就可以掌握實用的、基礎的正規表示式了。當然,這些東西都只是了解,快速入門,實用就行,會寫簡單的正規表示式,能夠看得懂正規表示式就夠了。
* 表示前乙個表示式可以出現0、1、多次
+ 表示前乙個表示式可以出現1、多次
? 表示前乙個表示式可以出現0、1次
^ 表示是否以指定字串開頭,如果在前面使用,表示不接受該字元集合
$ 表示是否以指定字串結尾
| 表示兩者間的選擇
. 匹配除換行(\n)外的任意乙個字元
表示前乙個表示式出現確定的 n 次
表示前乙個表示式至少出現n 次
最少出現 n 次且最多出現 m 次
注:以上n和m都是非負整數
注:表示式可以是小括號括起來的式子,也可以是單個字元
(1)例項一: ^once
分析:^的意思是,以某個指定的字串開頭,所以上面正規表示式的意思是:匹配以once開頭的字串
(2)例項二, ^a$
分析:以a開頭,最少2個a,最多3個a,以a結尾。所以它能匹配的字串是aa aaa aaaa
(3)補充: - 表示字元範圍。匹配指定範圍內的任意字元。例如,』[a-z]』 可以匹配 『a』 到 『z』 範圍內的任意小寫字母字元。
(4)補充: \d 表示匹配任意乙個數字。
(5)例項三,來個複雜的:
驗證如下手機號碼:
移動號碼段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147
聯通號碼段:130、131、132、136、185、186、145
電信號碼段:133、153、180、189
表示式如下:
^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d$
分析:把子表示式分解出來
^( #表示以某某開頭
(13[0-9]) #130到139
| #或者
(14[5|7]) #145或147
|(15([0-3]|[5-9])) #150到153 或者 155到159
|(18[0,5-9]) #180,185到189
)\\d$ #匹配任意8個數字,且以數字結尾
正規表示式基本使用
常用函式 正規表示式 描述字串排列的規則 在對字串進行處理的時候,希望按照自定義的規則進行處理,稱為模式。我們用正規表示式描述這些自定義規則,也稱為模式表示式 主要用途 用於字串的匹配,檢查是否滿足某種規則 在python中,經常使用re模組實現正規表示式 原子是正規表示式的基本單位,每個正規表示式...
正規表示式的基本使用
正規表示式 正規表示式的基本使用 re.match r 匹配的字串 嘗試從字串的起始位置匹配乙個模式匹配成功re.match方法返回乙個匹配的物件,否則返回none。可以使用group num 或 groups 匹配物件函式來獲取匹配表示式,groups 返回的是乙個元組。使用正規表示式匹配單個字元...
正規表示式的基本使用
match 是從頭開始匹配 從第乙個字元 re.s 是專門和 匹配使用,讓我們真正的匹配所有 search 匹配單字元 1 使用 d 可以匹配任乙個數字 2 使用 1 匹配其中列舉的單個字元 2 表示範圍,某個區間,也是單個字元,比如36 表示的是3 和6 兩個字元 3 數字 字元 3 使用 w 可...