捕获组REGEX Java

时间:2014-05-03 16:50:29

标签: java regex capture-group

我想在我的正则表达式中捕获组,但似乎我没有写它应该是。请考虑以下几行:

String input = "username=johndoe";
Pattern pattern = Pattern.compile("(\\w+)=(\\w+)");
Matcher matcher = pattern.matcher(input);

当我尝试捕获第一组和第二组时,我有一个IllegalStateExcpetion。我真的不知道我的正则表达式有什么问题,我还尝试了几种不同的写法方式= /。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您收到IllegalStateExcpetion,因为您忘了打电话:

matcher.matches()

OR

matcher.find()

只有在调用上述两种方法之一后才能访问捕获的组。

答案 1 :(得分:0)

您需要findmatches

matcher.matches()matcher.find()