正規表示式用法總結

2021-07-11 04:22:10 字數 1106 閱讀 2038

首先看乙個正規表示式的小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 數量詞 如果規定乙個字符集或子規則反...