【问题标题】:Declaration difference in Java Regex? [duplicate]Java Regex 中的声明差异? [复制]
【发布时间】:2017-12-16 06:12:36
【问题描述】:
Pattern p = Pattern.compile(".s"); 
Matcher m = p.matcher("as");  
boolean b = m.matches(); 

还有:

boolean b3 = Pattern.matches(".s", "as"); 

我想知道这两个声明有什么区别?

> mathches()是Matcher类方法Pattern怎么调用呢?

【问题讨论】:

    标签: java regex


    【解决方案1】:

    matches()Pattern 类中的static 方法,它调用Matcher 中的matches() 方法。这是来源code

    public static boolean matches(String regex, CharSequence input) {
            Pattern p = Pattern.compile(regex);
            Matcher m = p.matcher(input);
            return m.matches();
        }
    

    【讨论】:

    • matches() 方法有两个对吗?
    • 两个? Pattern 中的一种方法调用Matcher 中的一种方法。
    【解决方案2】:

    Pattern.matches的实现:

    public static boolean matches(String var0, CharSequence var1) {
        Pattern var2 = compile(var0);
        Matcher var3 = var2.matcher(var1);
        return var3.matches();
    }
    

    你看到后者只是更冗长的第一个 sn-p 的一种方便方法。

    【讨论】:

      猜你喜欢
      • 2017-11-26
      • 1970-01-01
      • 2013-05-28
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 2015-05-25
      • 2020-06-15
      • 1970-01-01
      相关资源
      最近更新 更多