【发布时间】:2017-07-20 17:54:52
【问题描述】:
我想从这样的字符串中提取特定信息:
String content = "ObjectValue(Name1) ObjectValue(Name2) ObjectValue(Name3)";
我想使用正则表达式以便仅提取:
Name1 Name2 Name3
但我无法成功。这是我的代码:
private static final String OBJECT_VALUE = "ObjectValue";
String content = "ObjectValue(Name1) ObjectValue(Name2) ObjectValue(Name3)";
String patternString = OBJECT_VALUE+"\\((.+)\\)";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(content);
if(matcher.find()) {
for (int i = 0; i < matcher.groupCount(); i++) {
Log.d("Found items", matcher.group(i));
}
}
这是输出:
Found items: ObjectValue(Name1) ObjectValue(Name2) ObjectValue(Name3)
所以,首先,我只想提取名称,而我显然在正则表达式中遗漏了一些东西。其次,我想要组的不同元素,而在输出中,组由单个元素组成,这可能吗?
提前感谢您!
【问题讨论】:
标签: java android regex design-patterns matcher