可能重复: Print regex matches in java
我在java中使用Matcher类来匹配字符串和特定的正则表达式,我使用Pattern类将其转换为Pattern。我知道我的正则表达式有效,因为当我做Matcher.find()时,我会得到真正的价值观。但我想打印出产生这些真值的蜇(意味着打印出与我的正则表达式相匹配的字符串),我没有在matcher类中看到一个方法来实现它。如果有人以前遇到过这样的问题,请告诉我。我很抱歉,因为这个问题相当简陋,但我对正则表达式来说相当新,因此我仍然在寻找正则表达式的世界。
答案 0 :(得分:3)
假设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()
返回" mary喜欢bob"。
m.group(1)
返回"喜欢"。