gpt4 book ai didi

java - 如何从正则表达式中捕获值?

转载 作者:行者123 更新时间:2023-12-02 07:38:20 24 4
gpt4 key购买 nike

如何从正则表达式中提取值,其中任何占位符都可以通过 $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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com