1. 程式人生 > >Java常用的正則校驗

Java常用的正則校驗

表示 空格 html 位數 att 匹配中文 cnblogs 開始 nbsp

1.非負整數:

(^[1-9]+[0-9]*$)|(^[0]{1}$) 或 (^[1-9]+[0-9]*$)|0

2.非正整數:

(^-[1-9]+[0-9]*$)|(^[0]{1}$) 或 (^-[1-9]+[0-9]*$)|0

3.非負浮點數:

//前邊是整數部分1-9開頭的小數,後邊是整數部分0開頭的小數和0.00*。

(^[1-9]+[0-9]*\.{1}[0-9]+$)|(^[0]{1}\.{1}[0-9]+$)

4.非正浮點數:

(^-[1-9]+[0-9]*\.{1}[0-9]+$)|(^-[0]{1}\.{1}[0-9]*[1-9]+[0-9]*$)|(^0\.0+$)

5.匹配中文字符:

^[\u4e00-\u9fa5]{2,4}$ (2-4個漢字可以校驗中文姓名)

註意:正則表達式在Java中聲明在String字符串中,其中出現的反斜杠在Java中需要用轉義字符轉義,即再加一個反斜杠。在使用"|"邏輯或的時候註意"|"兩邊不要帶空格,直接跟隨正則表達式。

校驗正則代碼:

String dataStr = "XXXXX";

String regFormat = "^XXXXX$";

boolean isMatch = Pattern.matches(regFormat , dataStr);

//結果為true,表示匹配;false,表示不匹配。

最後推薦一位大神的博客:正則基礎

https://www.cnblogs.com/goodboy-heyang/p/4673628.html

(如有錯誤歡迎留言指正,歡迎留言交流!)

內容如下:

1、字母:匹配單個字母

(1)A:表示匹配字母A;

(2)\\:匹配轉義字符“\”;

(3)\t:匹配轉義字符“\t”;

(4)\n:匹配轉義字符“\n”;

2、一組字符:任意匹配裏面的一個單個字符:

(1)[abc]:表示可能是字母a,可能是字母b或者是字母c;

(2)[^abc]:表示不是字母a,字母b,字母c的任意一個;

(3)[a-zA-Z]:表示全部字母中的任意一個;

(4)[0-9]:表示全部數字的任意一個;

3、邊界匹配:在以後編寫JavaScript的時候使用正則中要使用到:

(1)^:表示一組正則的開始;

(2)$:表示一組正則的結束;

4、簡寫表達式:每一位出現的簡寫標記也只表示一位:

(1)· :表示任意的一位字符;

(2)\d :表示任意的一位數字,等價於“[0-9]”;

(3)\D :表示任意的一位非數字,等價於“[~0-9]”;

(4)\w :表示任意的一位字母、數字、_,等價於“[a-zA-Z0-9_]”;

(5)\w :表示任意的一位非字母、數字、_,等價於“[^a-zA-Z0-9_]”;

(6)\s :表示任意的一位空格,例如:\n、\t等;

(7)\S :表示任意的一位非空格;

5、數量表示:之前所有的正則都只是表示一位,如果要表示多位,則就需要數量表示。

(1)正則表達式?:此正則出現0次或1次;

(2)正則表達式*:此正則出現0次、1次或多次;

(3)正則表達式+:次正則出現1次或多次;

(4)正則表達式{n}:此正則出現正好n次;

(5)正則表達式{n,}:此正則出現n次以上;

(6)正則表達式{n,m}:此正則出現n – m次。

6、邏輯表示:與、或、非

(1)正則表達式A正則表達式B: 表達式A之後緊跟著表達式B;

(2)正則表達式|A正則表達式B: 表示表達式A或者表達式B,二者任選一個出現;

(3)(正則表達式):將多個子表達式合成一個表示,作為一組出現。

Java常用的正則校驗