有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java下面这两种语言的区别是什么?

System.out.println(matcher.group(1));
System.out.println(matcher.group());

我想知道上面两种代码的区别是什么。我得到不同的输出。有人能详细解释一下吗

谢谢


共 (3) 个答案

  1. # 1 楼答案

    API doc是一个非常好的先看的地方

  2. # 2 楼答案

    group()的调用将为您提供匹配的整个字符串,而group(1)将为您提供第一个括号内的“捕获”组(或者更一般地说,group(n)将为您提供第n个捕获组,从1开始计算左/右括号)

    例如,如果你有这样一个输入字符串:

    The quick brown fox
    

    您匹配了以下正则表达式(不带引号):

    "The (\\w+)"
    

    然后group()会给你“快”,而group(1)会给你“快”

    有关这些正则表达式如何在Java中工作的更多详细信息,请参阅^{}JavaDoc

  3. # 3 楼答案

    我指给你看Matcher的JavaDocs

    组():

    Returns the input subsequence matched by the previous match

    组(int):

    Returns the input subsequence captured by the given group during the previous match operation.