Java获得正则表达式的匹配组

时间:2014-11-11 17:53:01

标签: java regex

给出以下Java表达式代码:

boolean match = row.matches("('.*')?,('.*')?");

如果matchtrue,则表示正则表达式匹配整个'行'。然后我可以获得两组的内容吗?每个人都是('.*')

2 个答案:

答案 0 :(得分:3)

要访问论坛,您需要使用MatcherPattern.compile(regex).matcher(row)

然后您可以在匹配器上调用find()matches()来执行匹配器,如果它们返回true,您可以通过group(1)group(2)访问这些组。

String row = "'what','ever'";
Matcher matcher = Pattern.compile("('.*')?,('.*')?").matcher( row );
if( matcher.matches() )
{
  String group1 = matcher.group( 1 );
  String group2 = matcher.group( 2 );
}

答案 1 :(得分:0)

您可以尝试String[] groups = row.split(",");。然后,您可以使用groups[0]groups[1]来获取每个''你正在寻找。