搜尋 and 替換
匹配文字中的某字元(類似於word等工具的查詢功能)
. – 可以匹配任何單字元,包括字母,數字,標點甚至是.本身
.. – 匹配兩個任意字元
注:若想匹配.
本身,則需要對其進行轉義,即\.
[abc]*
– 表示匹配所有以a或b或c為開頭的文字
[rr]eg[ee]x
– 表示匹配 regex, regex, regex, regex
[a-z]*
– 表示匹配所有以英文小寫字母(a-z)為開頭的文字
[a-za-z0-9]*
– 表示匹配所有以英文本母和數字為開頭的文字
[^a-z]*
– 表示匹配所有不以英文小寫字母(a-z)為開頭的文字
array\[0\]
– 匹配文字array[0]
,若不轉義,則匹配array0
[\b]
– 回退乙個字元(backspace),注意要加,
\b
單獨使用另有含義
\f
– 換頁符
\n
– 換行符aababa
\r
– 回車符(enter)
\t
– 水平製表符(tab)
\v
– 垂直製表符
\d
– 匹配任一數字,相當於[0-9]
\d
– 匹配任一非數字,相當於[^0-9]
\w
– 匹配任一字母數字下劃線,相當於[a-za-z0-9_]
\w
– 匹配任一非字母數字下劃線字元,相當於[^a-za-z0-9_]
\s
– 匹配任一空白字元,相當於[\f\r\n\t\v]
\s
– 匹配任一非空白字元,相當於[^\f\r\n\t\v]
\x0a
– 匹配十六進製制值,0x0a = 10 = ascii(\n),\x
+十六進製制
,相當於\n
\011
– 匹配八進位制值,011 = 9 = ascii(\t),\0
+八進位制
,相當於\t
\cz
– 匹配控制字元ctrl + z
,實際使用中很少見
要想匹配同一字元(或者字元集合)的多次重複,只需要簡單的在其後加上字尾+
即可。
+
匹配乙個或多個字元(至少乙個,不匹配零個字元的情況),若想匹配零個的情況,可使用*
(零個或多個任意字元),或者?
(若有則,匹配乙個任意字元,否則不匹配)
a+
– 匹配乙個以上重複的a
,比如aaa
[ab]+
– 匹配乙個以上重複的a
或者b
,比如aababa
[ab]*
– 匹配零個以上重複的a
或者b
a?c
– 匹配的字元是可選的,比如ac(?匹配了零個字元), abc, adc(?匹配了乙個字元)
[a-z]
–設定重複次數,相當於[a-z][a-z][a-z]
[a-z]
–為重複的次數設定區間,相當於[a-z]
重複最少2次,最多4次
[a-z]
–為重複的次數設定最大值,相當於最小值為0
[a-z]
–為重複的次數設定最小值,相當於最大值為正無窮
+,*,匹配任意字元時,可能會過度的匹配(貪婪型),在其末尾加上?,使其工作時盡可能少的匹配字元(懶惰型)
text:
text1
and text2
– 貪婪型,將匹配
text1
and text2
– 懶惰型,將匹配
text1
,text2
正規表示式用法總結
首先看乙個正規表示式的小demo 匹配郵箱,前面只能出現數字,英文本母,橫線,下劃線和點,前乙個字元不能是點,開頭不能是橫線和點。string email a za z0 9 a za z0 9 a za z0 9 0 9 0 9 0 9 a za z0 9 a za z 0 9 boolean f...
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式的 用法總結
有無量詞 問號可以表示重複前面內容的0次或一次,也就是要麼不出現,要麼出現一次。不加問號表示貪婪匹配 在滿足匹配時,匹配盡可能長的字串,預設情況下,採用貪婪匹配 1 2 3 string pattern1 a.c greedy match regex regex newregex pattern1 ...