zoukankan      html  css  js  c++  java
  • java 正则例子

    1.不易开头、结尾;小数;圆角字符

    包含数字、字母、圆角字符

    不以<br/>开头、结尾,但中间可以存在

    小数中的小数点是半角

    正则表达式

    "^(?!<br/>)(([0-9]+(.[0-9]+)?)|(<br/>)|[a-zA-Z\u0391-\uffe5])*(?<!<br/>)$"

    解析

    字母:[a-Z]

    圆角字符:[\u0391-\uffe5]

    数字:(包含小数):[0-9]+(.[0-9]+)?          这里的?表示有无量词

    多个元素并列用| 隔离开

    每个单独的元素用()括起来

    不以<br/>开头:^(?!<br/>)

    不以<br/>结尾:(?<!<br/>)$

    测试

     @Test
        public void test2() {
            String str = "ABCabc中国";
            String regEx = "^(?!<br/>)(([0-9]+(.[0-9]+)?)|(<br/>)|[a-zA-Zu0391-uffe5])*(?<!<br/>)$";
            Pattern pattern = Pattern.compile(regEx);
            Matcher matcher = pattern.matcher(str);
            boolean rs = matcher.matches();
            System.out.println(rs);
    
        }

    true

    2.group()

    需求:找出连续的大写字母

      @Test
        public void test() {
            String str = "MABabAcdBCef";
            String regEx = "([A-Z]+)";
            Pattern pattern = Pattern.compile(regEx);
            Matcher matcher = pattern.matcher(str);
            while (matcher.find()) {
                System.out.println(matcher.group(1));
       }

    输出:

    MAB
    A
    BC

    3.如果去掉正则中的()

        @Test
        public void test() {
            String str = "MABabAcdBCef";
            String regEx = "[A-Z]+";
            Pattern pattern = Pattern.compile(regEx);
            Matcher matcher = pattern.matcher(str);
            while (matcher.find()) {
                System.out.println(matcher.group(1));
            }
        }

    结果

    java.lang.IndexOutOfBoundsException: No group 1
    
        at java.util.regex.Matcher.group(Matcher.java:538)

    正则表达式中以’()’标记的子表达式所匹配的内容就是一个分组(group).

  • 相关阅读:
    windows下面Nginx日志切割
    C#通过DocX创建word
    leetcode 189 Rotate Array
    leetcode 172 Factorial Trailing Zeroes
    leetcode 169 Majority Element 冰山查询
    leetcode 165 Compare Version Numbers
    leetcode 160 Intersection of Two Linked Lists
    【windows-》linux】SCP
    【设计】B端和C端区别
    【Flask】部署
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/9630428.html
Copyright © 2011-2022 走看看