0

可能重复: 在java中打印正则表达式匹配

我在 java 中使用 Matcher 类将字符串与特定的正则表达式匹配,我使用 Pattern 类将其转换为 Pattern。我知道我的正则表达式有效,因为当我执行 Matcher.find() 时,我得到了我应该得到的真实值。但是我想打印出产生这些真实值的字符串(意味着打印出与我的正则表达式匹配的字符串),并且我没有在匹配器类中看到实现这一点的方法。请让我知道是否有人以前遇到过这样的问题。我很抱歉,因为这个问题相当初级,但我对正则表达式相当陌生,因此我仍然在正则表达式世界中寻找自己的方式。

4

1 回答 1

5

假设m是你的匹配器:

m.group()将返回匹配的字符串。

[编辑]添加了有关匹配组的信息

此外,如果您的正则表达式在括号内有部分,m.group(n)将返回与括号内的第 n 个组匹配的字符串;

Pattern p = Pattern.compile("mary (.*) bob");
Matcher m = p.matcher("since that day mary loves bob");

m.group()返回“玛丽爱鲍勃”。
m.group(1)回报“爱”。

于 2012-08-11T00:30:37.313 回答