可能的重复: Print regex matches in java
我在java中使用Matcher类来将字符串与特定的正则表达式相匹配,我使用Pattern类将其转换为Pattern。我知道我的正则表达式有效,因为当我执行 Matcher.find() 时,我得到了我应该得到的真实值。但我想打印出产生这些真实值的字符串(意味着打印出与我的正则表达式匹配的字符串),并且我在匹配器类中没有看到实现该目的的方法。如果有人以前遇到过这样的问题,请告诉我。我很抱歉,因为这个问题相当初级,但我对正则表达式相当陌生,因此仍在正则表达式世界中寻找方法。
最佳答案
假设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)
返回“loves”。
关于java - 在java中打印出与我的正则表达式匹配的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11910834/