打印出与java中的正则表达式匹配的字符串?

Print out the string that matched my regular expression in java?

可能的复制:在Java中打印正则表达式匹配

我在Java中使用Matter类来将字符串与特定正则表达式相匹配,使用模式类将其转换成模式。我知道我的regex有效,因为当我执行matcher.find()时,我得到了我应该得到的真正值。但是我想打印出产生这些真值的刺痛(意味着打印出与regex匹配的字符串),我在matcher类中没有看到实现这一点的方法。如果以前有人遇到过这样的问题,请一定告诉我。我道歉,因为这个问题是相当基本的,但我是相当新的regex,因此我仍然找到我的方式在regex世界各地。


假设m是你的媒人:

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

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

另外,如果regex在括号内有部分,m.group(n)将返回与括号内第n组匹配的字符串;

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

m.group()返回"玛丽爱鲍勃"。m.group(1)返回"爱"。