首先看乙個正規表示式的小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 flag=pattern.compile(email).matcher("_-@[8.9.9.33]").matches();
log.e("tag",flag+"");
輸出結果:
04-13 13:27:04.076 6239-6239/com.kxd.regulardemo e/tag: true
下面就具體使用規則做一下總結:
一.正規表示式中常用元字元的含義
(1)正規表示式中的\意思是將下乙個字元標記為特殊字元,原義字元,向後引用或者八進位制轉義字元。
\\匹配的是\;故匹配\w時在語法中則應當寫成\\w才能表示數字,字母或者下劃線。其他的元字元也是如此。
\d:匹配乙個數字字元,其等效於[0-9];
\.:匹配的是點"."這個字元
\s:匹配乙個空白字元,包括\n,\r,\r,\t,\v;
\w:匹配數字,字母或者下劃線,其等效於[a-za-z0-9_]
\]:匹配的是]
(2)特殊字元
^:匹配乙個輸入或行的開頭,在表示式中不寫也可以,但為了正規表示式的規範,最好加上
$:匹配乙個輸入或行的結尾,在表示式中不寫也可以,但為了正規表示式的規範,最好加上
?:匹配緊挨前面的字元0次或1次,等效於
*:匹配緊挨前面的0次或多次
+:匹配1次或多次,等效於
(x):匹配x,儲存名在$1,$2...$9的變數名中
(x|y)匹配x或y,為了規範,一般情況下這裡的x和y一般不是數字。因為數字一般是用""括起來
[x|y|z]:匹配x或y或者z
[xyz]:匹配xyz中任意乙個字元
:匹配n次或n次以上
:匹配n到m次
:精確匹配n次
正規表示式 正規表示式 總結
非負整數 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 ...
正規表示式基礎用法總結
正規表示式概述 專門描述字串中字元出現規則的表示式 1 用途 1 驗證字串格式 2 查詢 遮蔽敏感詞 2 字符集 3 預定義字符集 字符集的最簡化寫法 d 一位數字 0 9 w 匹配一位字母 數字或 s 可匹配空格 製表符tab等空白 匹配所有文字 萬用字元 4 數量詞 如果規定乙個字符集或子規則反...