正規表示式學習 二 字元組和分支

2021-07-22 16:01:44 字數 744 閱讀 8976

上篇講了正規表示式的元字元和量詞,對正規表示式也有了乙個初步的了解。這篇學習下字元組和分支

1.字元組

字元組就是用來匹配任意乙個字元,比如我們想找到包含字元a或u的單詞。就可以通過字元組來寫規則:

#\b[a-z]*[au][a-z]*#i

另外字元組裡-表示範圍,如果要匹配包含-的字元,裡一定要對-進行轉義,即[\-],那像(),{}在要不要進行轉義呢,答案是不需要,因為在裡(),{}只是作為普通字元。

2.分支

比如我們用c[au]t可以匹配cat或cut。那如果我們像匹配包含任意兩個字元,比如au,ou等的話,這裡就不適用了。怎麼辦,這時候我們就可以用分支。

分支用()界定,並且用|表示分支。比如我們想匹配地區號碼,地區號碼一種是3位區號,8位本地號(010-12345678),一種是4位區號,7位本地號碼(0371-6811605)

正規表示式就可以寫成:

#(0\d[\- ]\d|0\d[\- ]\d)#

[\- ]表示中間可以是-或空格符

其中|表示分支。

分支匹配需要注意的一點就是順序,匹配的時候會優先匹配前面的分支,如果匹配成功了,後面的不再匹配。否則接著匹配後面的分支。

比如上面的會優先匹配區號為3位的,又例如美國的郵編是5位數字,也可能是 連字型大小間隔的9位數字,則可以寫成。

#(\d|\d-\d)#

但如果反過來的話就是:

#(\d|\d-\d)#

那就是匹配5位的郵編,或者9位郵編的前5位了。

二 字串和正規表示式 正規表示式函式

正規表示式函式 1.preg match 函式,實現字串的比對 int preg match string pattern,string subject,array matches 返回值 整數 陣列 本函式以 pattern 的規則來解析比對字串 subject。比對結果返回的值放在陣列引數 ma...

二 字串和正規表示式 正規表示式的模式修正符

正規表示式的模式修正符 模式修正符是為正規表示式增強和補充的乙個功能,使用在正則之外.格式 正則 模式修正符 常用模式修正符有 i 正則內容在匹配時候不區分大小寫 預設是區分的 m 在匹配首內容或者尾內容時候採用多行識別匹配 s 將轉義回車 n取消是為單行匹配如.x 忽略正則中的空白 a 強制從頭開...

正規表示式學習筆記(1)(字元匹配)

目錄簡介 常用字元及其說明 常用字元匹配 空白元字元 重複匹配 基礎高階 正規表示式 regular expression,簡稱regex 是一些用來匹配和處理文字的字串。正規表示式語言並不是一種完備的語言,他是內置於其他語或軟體產品裡的 迷你 語言。正規表示式的使用無非兩種情況 一種是查詢特定的資...