很多時候我們需要匹配使用者輸入的是否符合一定的要求(比如郵箱匹配,**號碼匹配),或者我們需要按照要求篩選出具有一定要求的檔案(比如從多種檔案中找出某一天的檔案),這個時候就需要我們人為定義中規範,這種規範可以匹配符合要求的字串,也就是我們今天要說的正規表示式。
本文使用python的re包進行正則匹配
import re
直接匹配re.match(
'hello'
,'hello'
).group(
)# match 前乙個引號內為規則,後乙個引號內為待匹配物件
輸出為:
'hello'
但是這個也有弊端
re.match(
'hello'
,'hello,world'
).group(
)
輸出仍然為:
'hello'
也就是只匹配到前乙個字串結束,後面並不會管他
當然匹配不到的情況如下:
re.match(
"hello"
,"holle,world"
).group(
)
---
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
attributeerror traceback (most recent call last)
input-5
-7f1d9f73b36d
>
in--
-->
1 re.match(
"hello"
,"holle,world"
).group(
)attributeerror:
'nonetype'
object has no attribute 'group'
單字元匹配規則 字元
功能.匹配任意乙個字元
[ ]匹配中列舉的字元
\d匹配數字,即0-9
\d匹配非數字
\s匹配空格,tab鍵
\s匹配非空格,tab鍵
\w匹配單詞字元,即0-9, a-z, a-z, _
\w匹配非單詞字元
匹配多個字元 字元
功能*匹配前乙個字元出現零次或者無限次,即可有可無
+匹配前乙個字元出現一次或者無限次,即至少一次
?匹配前乙個字元出現乙個或者零次,即最多一次
匹配前乙個字元出現m次
匹配前乙個字元出現m-n次
匹配開頭和結尾 符號
功能^匹配開頭
$匹配結尾
匹配分組 符號
功能|匹配左右任意乙個表示式
( )將括號內的字元作為乙個分組
正規表示式 匹配規則
一切從最基本的開始。模式,是正規表示式最基本的元素,它們是一組描述字串特徵的字元。模式可以很簡單,由普通的字串組成,也可以非常複雜,往往用特殊的字元表示乙個範圍內的字元 重複出現,或表示上下文。例如 once這個模式包含乙個特殊的字元 表示該模式只匹配那些以once開頭的字串。例如該模式與字串 on...
正規表示式 匹配規則
一切從最基本的開始。模式,是正規表示式最基本的元素,它們是一組描述字串特徵的字元。模式可以很簡單,由普通的字串組成,也可以非常複雜,往往用特殊的字元表示乙個範圍內的字元 重複出現,或表示上下文。例如 once這個模式包含乙個特殊的字元 表示該模式只匹配那些以once開頭的字串。例如該模式與字串 on...
常用的正規表示式匹配規則整理
u4e00 u9fs5 中文字元 x00 xff 雙位元組字元 文字 n s r 空行 1 html標記 s s 首尾空格 d d d d g ip位址 d 整數 d 非負整數 0 9 1 9 0 9 正整數 d 0 非正整數 0 9 1 9 0 9 負整數 d d 非負浮點數 0 9 0 9 1 ...