我将Java 7应用程序转换为Java 6应用程序。我被matcher.group
财产所困,因为我不太了解它的作用。
我有以下代码:
public static final String PropertyRegexPrefixGroup = "prefix";
public static final String PropertyRegexPostfixGroup = "postFix";
public static ParsedProperty parse(String property) {
Matcher matcher = PropertyRegex.matcher(property);
boolean isMatch = matcher.matches();
if (!isMatch)
return new ParsedProperty(null, property, false);
String prefix = matcher.group(PropertyParser.PropertyRegexPrefixGroup);
String postfix = matcher.group(PropertyParser.PropertyRegexPostfixGroup);
return new ParsedProperty(prefix, postfix, true);
}
我必须重写String prefix
和String postfix
属性声明。我怎样才能做到这一点?
答案 0 :(得分:4)
在Java 6中,您不能拥有命名组,因此需要按索引引用组。
鉴于这种模式:
Pattern pattern = Pattern.compile("(foo).*(bar)")
和这段代码:
Matcher matcher = pattern.matcher("foo....something...else...bar");
matcher.find();
matcher.group(0)
匹配整个字符串,matcher.group(1)
返回“foo”,matcher.group(2)
返回“bar”