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)(正则表达式):将多个子表达式合成一个表示,作为一组出现。