如何从正则表达式中提取值$number_of_occurance value
可以重新定位任何占位符?
例如,我有一个字符串final_0.25Seg1-Frag1
,我想在一个文件中找到该字符串的所有匹配项0.25
作为通配符,我可以使用
Pattern regex = Pattern.compile( "/vod/final_\\d+\\.\\d+Seg1-Frag1" );
Matcher regexMatcher = regex.matcher(data2[0]);
我想保留\\d+\\.\\d
中值的值,并找出所有匹配行中哪一个在此位置具有最大值。
答案 0 :(得分:2)
你看过Pattern group了吗?您可以遍历这些以识别匹配的子表达式。
来自链接的示例。 Matcher。group(0)是完整的表达式。
CharSequence inputStr = "abbabcd"; // could be a String type
String patternStr = "(a(b*))+(c*)";
// Compile and use regular expression
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(inputStr);
boolean matchFound = matcher.find();
if (matchFound) {
// Get all groups for this match
for (int i=0; i<=matcher.groupCount(); i++) {
String groupStr = matcher.group(i);
}
}
答案 1 :(得分:0)
请举个例子。我想你需要阅读Mathcer docs http://docs.oracle.com/javase/7/docs/api/index.html?java/util/regex/Matcher.html。您可以通过group
方法访问捕获组。