表示一個正則表達式的開始和結束正則表達式
(1)//
(2)##
(3){}
例:'/[0-9]/'工具
正則表達式中的最小匹配單位,一般它只是Unicode編碼表中的某個字符
(1)可見原子:Unicode編碼表中用鍵盤輸出後肉眼可見的字符
例:
標點
英文字母數字
漢字、日文、阿拉伯文等其餘語言文字
數理化公式符號
其餘可見字符
(2)不可見原子:Unicode編碼表中用鍵盤輸出後肉眼不可見的字符
例:
換行符 \n
回車\r
製表符 \t
空格
其餘不可見符號
patten中如有中文漢字,建議換成unicode編碼編碼
(1)定義原子的篩選方式
(2)把某一類原子,比較相似的原子(英文字母abcd和數字1234)進行歸類,給出一個縮寫來簡化正則表達式的書寫方式。spa
一、原子的篩選方式
(1)[] :匹配出如今[]中的任意一個原子
(2)| :或運算。匹配|符號左右兩邊的任意一個
(3)[^ ] :取反。這裏^必須和[緊挨着,才表示匹配除了[]裏面任意原子的字符
注:[78^9]表示匹配,七、八、^、9任意一個
(4). :任意字符(除換行符外)code
二、原子的集合
. 匹配出了換行符以外的任意字符
(1)\d 匹配任意一個十進制數字,即 [0-9]
(2)\D 匹配任意一個非十進制的數字,即 [^0-9]
(3)\s 匹配一個不可見原子,即 [\f\n\r\t\v]
(4)\S 匹配一個可見原子,即[^\f\n\r\t\v]
(5)\w 匹配任意一個數字、字母或下劃線,即 [0-9a-zA-Z_]
(6)\W 匹配任意一個非數字、字母或下劃線,即 [^0-9a-zA-Z_]unicode
(1){n} 表示其前面的原子剛好出現n次。
(2){n,} 表示其前面的原子最少出現n次。
(3){n,m} 表示其前面的原子最少出現n次,最多出現m次。
(4)* 匹配0次,1次,屢次其前面的原子,即{0,}。
(5)+ 匹配1次,屢次其前面的原子,即{1,}。
(6)? 匹配0次,1次其前面的原子,即{0,1}。字符串
(1)^ :匹配字符串開始的位置 ^string:只能匹配一開始就爲string字符串,不能有空格
(2)$ :匹配字符串結尾的位置get
() 括號的總體爲一個原子string
標識:在正則表達式的末尾,也就是斜槓(/)的後面,加修正模式的標識
(1)u :貪婪匹配,匹配結果存在歧義時,匹配結果越多越好。默認是貪婪模式。
例:'/[a-zA-Z0-9]+/'
(2)U :懶惰匹配,匹配結果存在歧義時,匹配結果越少越好。
例:'/[a-zA-Z0-9]+/U'
(3)i :忽略英文字母大小寫
(4)x :忽略空白
(5)s :讓元字符「.」匹配包括換行符在內的全部字符英文
(1)非空:.+
(2)浮點:小數點後兩位:\d+\.\d{2}$
(3)手機:^1[358]\d{9}$
(4)郵箱:^\w+(\.\w+)*@\w+(\.\w+)+$
(5)URL:^(https?://)?(\w+\.)+[a-zA-Z]+$