正則表達(dá)式也叫規(guī)則表達(dá)式, 按照一定的規(guī)則組成的一個表達(dá)式, 這個表達(dá)式的作用主要是匹配字符串的
"我的電話:10086,他的電話:10010,你的電話:10000"
正則表達(dá)式, 把這個字符串中的所有的數(shù)字找到
正則表達(dá)式的作用: 匹配字符串的
在大多數(shù)編程語言中都可以使用
正則表達(dá)式的組成: 是由元字符或者是限定符組成的一個式子
元字符:. 表示的是:除了\n以外的任意的一個字符 "fdsfs238"
[] 表示的是:范圍, [0-9] 表示的是0到9之間的任意的一個數(shù)字, "789" [0-9]
[1-7] 表示的是1到7之間的任意的一個數(shù)字
[a-z] 表示的是:所有的小寫的字母中的任意的一個
[A-Z] 表示的是:所有的大寫的字母中的任意的一個
[a-zA-Z] 表示的是:所有的字母的任意的一個
[0-9a-zA-Z] 表示的是: 所有的數(shù)字或者是字母中的一個
[] 另一個函數(shù): 把正則表達(dá)式中元字符的意義干掉 [.] 就是一個.
| 或者 [0-9]|[a-z] 表示的是要么是一個數(shù)字,要么是一個小寫的字母
() 分組 提升優(yōu)先級 [0-9]|([a-z])|[A-Z]
([0-9])([1-5])([a-z]) 三組, 從最左邊開始計算
(()(()))
都是元字符,但是也可以叫限定符,下面的這些 * 表示的是:前面的表達(dá)式出現(xiàn)了0次到多次
[a-z][0-9]* 小寫字母中的任意一個 后面是要么是沒有數(shù)字的,要么是多個數(shù)字的
"fdsfs3223323" [a-z][0-9]*
*
+ 表示的是:前面的表達(dá)式出現(xiàn)了1次到多次
[a-z][9]+ 小寫字母一個后面最少一個9,或者多個9
"fesfewww9fefds"
*
? 表示的是:前面的表達(dá)式出現(xiàn)了0次到1次,最少是0次,最多1次 ,另一個含義:阻止貪婪模式
[4][a-z]? "1231234ij"
限定符:限定前面的表達(dá)式出現(xiàn)的次數(shù)
{} 更加的明確前面的表達(dá)式出現(xiàn)的次數(shù)
{0,} 表示的是前面的表達(dá)式出現(xiàn)了0次到多次,和 *一樣的
{1,} 表示的是前面的表達(dá)式出現(xiàn)了1次到多次,和 +一樣的
{0,1} 表示的是前面的表達(dá)式出現(xiàn)了0次到1次,和 ?一樣的
{5,10} 表示的是前面的表達(dá)式出現(xiàn)了5次到10次
{4} 前面的表達(dá)式出現(xiàn)了4次
{,10} 錯誤的========不能這么寫
^ 表示的是以什么開始,或者是取非(取反) ^[0-9] 以數(shù)字開頭
^[a-z] 以小寫字母開始
[^0-9] 取反,非數(shù)字
[^a-z] 非小寫字母
[^0-9a-zA-Z_]
$ 表示的是以什么結(jié)束 [0-9][a-z]$ 必須以小寫字母結(jié)束
^[0-9][a-z] 相當(dāng)于是嚴(yán)格模式 "3f2432e" "4f"
\d 數(shù)字中的任意一個,
\D 非數(shù)字中的一個
\s 空白符中的一個
\S 非空白符
\w 非特殊符號
\W 特殊符號
\b 單詞的邊界
"what are you no sha lei"
. 除了\n以外的任意一個單個字符 [] 范圍 () 分組,提升優(yōu)先級 | 或者 * 0-多次 + 1-多次 ? 0-1次 {0,} 和*一樣 {1,} 和+ {0,1} \d 數(shù)字中的一個 \D 非數(shù)字 \s 空白符 \S 非空白符 \W 特殊符號 \w 非特殊符號 _ ^ 取反,以什么開始 $ 以什么結(jié)束 \b 單詞邊界
|
|
|