0

我想在我的正则表达式中捕获这些组,但似乎我没有按应有的方式编写它。考虑以下几行:

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

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

在此先感谢您的帮助。

4

2 回答 2

2

你得到IllegalStateExcpetion是因为你忘了打电话:

matcher.matches()

或者

matcher.find()

只有在调用上述 2 种方法中的任何一种后,您才能访问捕获的组。

于 2014-05-03T16:52:41.950 回答
0

您需要查找匹配

matcher.matches()或者matcher.find()

于 2014-05-03T16:54:06.437 回答