zoukankan      html  css  js  c++  java
  • 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)(正则表达式):将多个子表达式合成一个表示,作为一组出现。

  • 相关阅读:
    POJ 3255 Roadblocks
    KMP算法的前缀next数组最通俗的解释
    HDU 1829 A Bug's Life
    HDU 1879 继续畅通工程
    课程设计:学生管理系统(c++)
    HDU 1016 Prime Ring Problem
    HDU 4310 Hero
    素数筛选法<单向链表实现>
    【未完】训练赛20190304:KMP+树状数组+线段树+优先队列
    畅通工程:并查集入门裸题
  • 原文地址:https://www.cnblogs.com/qq28129019/p/10431791.html
Copyright © 2011-2022 走看看