Java常用的正則校驗
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常用的正則校驗