要想代碼寫得好磺樱,正則表達(dá)式少不了秫逝。
正則表達(dá)式由
普通字符(a到z)
-
特殊字符(又稱元字符古程,比如反斜線,*$()等等)
,
組成的文字模板
特殊字符
()
: 標(biāo)記一個(gè)子表達(dá)式的開始和結(jié)束位置屯伞。子表達(dá)式可以獲取供以后使用腿箩。要匹配這些字符,請使用 \( 和 \)劣摇。/
:表示正在表達(dá)式的開始和結(jié)尾\: 反斜線表示轉(zhuǎn)義符號珠移, .*?+[{|()^$ \ 這些具有特殊功能字符則必須在其前面加上反斜線,才能使用其功能含義末融,比如\s表示匹配空白剑梳。不加\表示單個(gè)字符。
默認(rèn)區(qū)分大小寫滑潘,而通過i可以改變垢乙。比如
i)abc
就不在區(qū)分大小寫.
:匹配除換行符 \n 之外的任何單字符。要匹配 . 语卤,請使用 \.*
匹配前面的子表達(dá)式零次或多次追逮。要匹配 * 字符,請使用\*?
:表示前面的一個(gè)字符最多出現(xiàn)1次(1次或0次 )例如, colou?r 可以匹配 color 和 colour, 因?yàn)?"u" 是可選的.請使用?+
表示前面的一個(gè)字符至少出現(xiàn)1次(1次或多次)粹舵,例如 a+ 可以匹配 ab 和 aaab. 但與 a* 和 a? 不同的是, 模式 a+ 不會匹配開始處沒有 "a" 的字符串.請使用+[...]
:字符類: 方括號把一列字符或一個(gè)范圍括在了一起 (或兩者). 例如, [abc] 表示 "a, b 或 c 的中任何一個(gè)字符". 使用破折號來創(chuàng)建范圍; 例如, [a-z] 表示 "在小寫字母 a 和 z (包含的) 之間的任何一個(gè)字符". 列表和范圍可以組合在一起; 例如 [a-zA-Z0-9_] 表示 "字母, 數(shù)字或下劃線中的任何一個(gè)字符".請使用[]^
: 匹配輸入字符串的開始位置钮孵,除非在方括號表達(dá)式中使用,此時(shí)它表示不接受該字符集合眼滤。要匹配 ^ 字符本身巴席,請使用 ^。{
:標(biāo)記限定符表達(dá)式的開始诅需。要匹配 {漾唉,請使用 {。