【问题标题】:How to get several regex groups from Matcher in Java?如何从 Java 中的 Matcher 获取多个正则表达式组?
【发布时间】:2009-06-18 16:02:42
【问题描述】:

我有一个 Java 程序可以进行一些字符串匹配。我正在寻找与字符串中的\d+x\d+ 匹配的任何内容。这工作,使用 PatternMatcher 类。但是,要解析我找到的String 部分,我必须手动解析从Matcher.find()Matcher.group() 获得的String。我如何告诉Pattern 我正在寻找(\d+)x(\d+) 形式的东西并让Matcher 分别返回这些组? 所以我想得到两个字符串,而不是字符串“1x23”,“1”和“23”。

【问题讨论】:

    标签: java regex matcher


    【解决方案1】:

    使用Matcher.group(int),而不是Matcher.group()
    使用给定的正则表达式和输入,group(1) 应该是“1”,group(2) 应该是“23”。

    【讨论】:

    • 请注意,您需要将您的模式作为您列出的第二个模式: (\d+)x(\d+) 以便匹配器知道什么是组。
    • 是的,我应该澄清一下(因为给出了两个正则表达式)。
    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    • 2019-02-01
    • 2020-04-11
    相关资源
    最近更新 更多