1, 特殊符號之匹配開頭和結尾的 '^' 和 '$'
'^' -- 以某個字符串開始.
'$' --以某個字符串結尾.
例:(^the[a-z ]+) 匹配 ''the book is good 呵呵呵哈哈哈'' 中的''the book is good''
2, 特殊符號之匹配出現次數的 '' '+' 和 '?'
'' 表示某個字符可能出現0次或者多次 例如ab* 匹配a或者ab或者abb....
'+'意思和'*'類似 區別在于+匹配至少出現一次,不能不出現,ab+ 則匹配不了a,但可以ab,abb....
'?' 則匹配某字符只出現一次,或者根本就不出現
某字符可以用[] 或者() 代替 那樣的話則表示一個字符串或一個表達式
3, 特殊符號之匹配出現一定次數的{n} {n,} {m,n}
{n} 表示前面的字符出現多少次, bo{2} 匹配book或者booook中的boo 不能匹配bok
{n,}表示前面的字符至少出現n次,* == {0,} + == {1,}
{m,n} m必須小余n,表示至少匹配m次,最多匹配n次 ? == {0,1}
4,特殊符號之貪婪的 ?
當該字符緊跟在任何一個其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹配 所搜索的字符串,而默認的貪婪模式則盡可能多的匹配所搜索的字符串。例如,對于字符串 "oooo",'o+?' 將匹配單個 "o",而 'o+' 將匹配所有 'o'。
5, 特殊符號之通吃符 .
匹配除 "\n" 之外的任何單個字符。要匹配包括 '\n' 在內的任何字符,請使用象 '[.\n]' 的模式。
6.正則轉意符號之
將下一個字符標記為一個特殊字符、或一個原義字符、或一個 向后引用、或一個八進制轉義符。例如,'n' 匹配字符 "n"。'\n' 匹配一個換行符。序列 '\' 匹配 "" 而 "(" 則匹配 "("。
以上是最基本的正則符號,, 這里算是入個門了,消化一下 在接著往下看吧..........
7,正則字符之關系符號 或--- | (x|y 匹配 x 或 y。)
例如用(z|f|s)ood 匹配 hehedazood houhouhoufood heiheihei sood中的 zood,food,sood
8,正則字符之集合[] ----[xyz]匹配集合中所包含的任意一個字符.
9.正則字符集合[^xyz] 匹配不包含xyz中的的任意一個字符。如:[^a-z]匹配不包含小寫字母的字符 [^0-9]不包含數字的字符.
10,正則字符\b表示空格 blank嘛 表示前面的字符的下一個字符是空格.
11.正則字符\B 則表示前面的字符的下一個字符 不 是空格.和上面的相反
12,正則字符 \d 表示數字等價于 [0-9]
13,字符 \D表示非數字等價于[^0-9]
14,字符 \w 匹配任何數字或字母包含帶下劃線.== [A-Za-z0-9_]
15,字符\W 和上面的相反,匹配任何非單詞字符。等價于 '[^A-Za-z0-9_]'
16,字符 \count \1 表示后向引用,表示表達式中,從左往右數,第一個左括號對應的括號內的內容。以此類推,\2表示第二個,\0表示整個表達式 例如:\d{4}([-/])\d{2}\1\d{2} 匹配2016-08-29 其中\1表示([-/])這個括號在前面匹配的字符 前面匹配了- 后面就引用 - ,總之引用前面括號匹配的內容,所以這個要配合括號使用
17.字符 \s 匹配任何空白字符,包括空格、制表符、換頁符等[ \f\n\r\t\v]
18.字符 \S 和上面的相反 等價于 [^ \f\n\r\t\v]
19.字符 \r 匹配一個回車符
20.字符 \n 匹配一個換行符
21, \xn 匹配 n,其中 n 為十六進制轉義值。十六進制轉義值必須為確定的兩個數字長。例如,'\x41' 匹配 "A"。'\x041' 則等價于 '\x04' & "1"。正則表達式中可以使用 ASCII 編碼
22, (?=pattern) 和 (?!pattern)
正向肯定預查,在任何匹配pattern的字符串開始處匹配查找字符串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如,“Windows(?=95|98|NT|2000)
"能匹配"Windows2000
"中的"Windows
",但不能匹配"Windows3.1
"中的"Windows
"。預查不消耗字符,也就是說,在一個匹配發生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預查的字符之后開始。
一些基本的注意事項:
a,為了逐字表達,你必須在"^.$()|*+?{"這些字符前加上轉移字符''。請注意在方括號 中,不需要轉義字符。
b,匹配純中文 [\u4E00-\u9FA5].
c, \ ( [ ^ \ ( \ ) ] + \ ) 匹配一串字符串中的小括號里面的內容 中括號里面的內容匹配1一次以上 其中不包括'(' 和' )' ( 此表達式復制的時候請把中間的空格都去掉 因簡述顯示問題不得不加空格)