gpt4 book ai didi

java - 模式 - Matcher.group() 与 Matcher.pattern().pattern()

转载 作者:行者123 更新时间:2023-12-01 12:01:44 25 4
gpt4 key购买 nike

我对以下之间的区别有点困惑:

Matcher m;
m.group();

Matcher m;
m.pattern().pattern();

它们都从列表中返回正确的匹配项,但我不明白两者之间的区别。

最佳答案

完全不同的事情。

  • Matcher.pattern().pattern() 返回此 MatcherPatternString 表示形式> 已针对输入文本进行初始化。
  • Matcher.group() 返回主组匹配器(索引 0)如果给定的 Pattern 与给定的匹配文字
如果没有找到匹配项,即如果没有包装在 matcher.find() 中,

Matcher.group() 将抛出 IllegalStateException boolean 条件。

Matcher.group(int i) 重载让您可以为您在 Pattern 中定义的显式组(从 1 开始)在其层次结构中指定组索引出现顺序(带括号)。

如果您的Pattern中未定义索引组,这些重载将抛出IndexOutOfBoundException

示例

Pattern p = Pattern.compile(".+");
String input = "blah";
Matcher m = p.matcher(input);
if (m.find()) {
System.out.println(m.group());
System.out.println(m.pattern().pattern());
}

输出

blah
.+

更多

API here

关于java - 模式 - Matcher.group() 与 Matcher.pattern().pattern(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27944288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com