AG广东会,山东十一选五,大发

?
  • AG广东会400电话
  • 微网小程序
  • AI电话山东十一选五
  • 电商代运营
  • AG广东会,山东十一选五,大发:全 部 栏 目

    AG广东会400电话 网络优化推广 AI电话山东十一选五 呼叫中心 网站建设 商标?知产 微网小程序 电商运营 彩铃?短信 增值拓展业务
    Java正则相关的Pattern和Matcher类及遇到的坑

    此篇文章是记录我在学习Java时候学到的和遇到的坑。

    先来说说 Matcher 里面的三个方法(取的结果以group()方法为例子)

    好了上测试代码:

    package com.wjj.utils;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    /**
    * @author 作者 : 榨菜哥
    * @version 创建时间:2016年8月18日 上午8:47:58
    * 类说明:的练习
    */
    public class Regex {
      //find方法测试
      public static void find(String html) {
        String regex = "\\d\\d\\d";
        Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(html);
        System.out.print("find():");
        if (matcher.find()) {
          System.out.println(matcher.group());
        }
      }
      //matches方法测试
      public static void matches(String html) {
        String regex = "^\\w\\d\\d\\d";
        Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(html);
        System.out.print("matches():");
        if (matcher.matches()) {
          System.out.println(matcher.group());
        }
      }
      //lookingAt方法测试
      public static void lookingAt(String html) {
        String regex = "\\w\\d\\d";
        Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(html);
        System.out.print("lookingAt():");
        if (matcher.lookingAt()) {
          System.out.println(matcher.group());
        }
      }
      public static void main(String[] args) {
        //find方法测试
        find("a123b");
        //matches方法测试
        matches("a123");
        //lookingAt方法测试
        lookingAt("a123b");
      }
    }

    输出结果:

        find():123
        matches():a123
        lookingAt():a12

    小结:本身并不难,平常使用的时候只要按照规则来写就好了。在学习中理解matches、find、和lookingAt三个方法花了我比较长的时间,一直不能理解完全匹配和部分匹配是什么意思,最后还是在stackoverflow上找到了想要的答案。

    以上是个人学习的理解,有不对之处,希望给予指点。

    (补充:Pattern如果调用多次容易出问题,比如内存溢出,因为Pattern每执行一次就编译一次,因此建议将需要的进行预编译。)

    学习教程: http://deerchao.net/tutorials/regex/regex.htm ,文中作者写得挺详细的,并且通俗易懂。

    总结

    以上所述是小编给大家介绍的Java正则相关的Pattern和Matcher类及遇到的坑,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    您可能感兴趣的文章:
    • JavaPattern和Matcher原理详解
    • Java matches类,Pattern类及matcher类用法示例
    • 详解Java中Pattern类和Matcher类
    • JAVA Pattern和Matcher
    • Java Pattern与Matcher字符串匹配案例详解
    上一篇:Python 实用技巧之查找和替换文本的操作方法
    下一篇:JavaScript email邮箱/邮件地址的及分析
  • 相关文章
  • ?

    ? 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Java正则相关的Pattern和Matcher类及遇到的坑 Java,正则,相关,的,Pattern,

    AG广东会官网入口(中国)官方网站-IOS/Android通用版(2026已更新)