Como extrair valores de um regex onde qualquer espaço reservado pode ser rederenciado por um $number_of_occurance value
?
Por exemplo, eu tenho uma string final_0.25Seg1-Frag1
e quero encontrar todas as correspondências dessa string em um arquivo com 0.25
como um curinga, o que eu posso fazer usando
Pattern regex = Pattern.compile( "/vod/final_\d+\.\d+Seg1-Frag1" );
Matcher regexMatcher = regex.matcher(data2[0]);
Eu quero manter o valor do valor em \d+\.\d
e descobrir qual dentre todas as linhas combinadas tem o maior valor nessa posição.
Respostas:
2 para resposta № 1Você já olhou Grupo padrãos? Você pode iterar por meio deles para identificar subexpressões correspondentes.
Do exemplo vinculado. Matcher.grupo(0) é a expressão completa.
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);
}
}
0 para resposta № 2
Por favor, dê um exemplo. Eu acho que você precisa ler documentos Mathcer http://docs.oracle.com/javase/7/docs/api/index.html?java/util/regex/Matcher.html. Você pode acessar grupos de captura via group
método.