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

posted @ 2019-02-25 16:49  王贰家  阅读(1593)  评论(0编辑  收藏  举报