作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何从正则表达式中提取值,其中任何占位符都可以通过 $number_of_occurrence 值
重新引用?
例如,我有一个字符串 final_0.25Seg1-Frag1
,我想在使用 0.25
作为通配符的文件中查找该字符串的所有匹配项,我将其作为通配符可以使用
Pattern regex = Pattern.compile( "/vod/final_\\d+\\.\\d+Seg1-Frag1" );
Matcher regexMatcher = regex.matcher(data2[0]);
我想保留\\d+\\.\\d
中的值的值,并找出所有匹配的行中哪一行在这个位置上的值最大。
最佳答案
你看过Pattern group吗?是?您可以迭代这些来识别匹配的子表达式。
来自链接的示例。匹配器。 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);
}
}
关于java - 如何从正则表达式中捕获值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11900043/
我是一名优秀的程序员,十分优秀!