Regex Java que casa com a maior string
Rodo o seguinte código:
Pattern padraoCor = Pattern.compile("(black|black type)");
Matcher matcherCor = padraoCor.matcher("black type");
if (matcherCor.find()) {
System.out.println(matcherCor.group(0));
} else {
System.out.println("Nao encontrou.");
}
e ele retorna: black
como faço pare ele retornar black tipye?
Desde já muito Obrigado.
Pattern padraoCor = Pattern.compile("(black|black type)");
Matcher matcherCor = padraoCor.matcher("black type");
if (matcherCor.find()) {
System.out.println(matcherCor.group(0));
} else {
System.out.println("Nao encontrou.");
}
e ele retorna: black
como faço pare ele retornar black tipye?
Desde já muito Obrigado.
William
Curtidas 0
Respostas
William
19/03/2019
Ahh, não pode colocar o $ da seguinte forma "(black$|black type$)" por que não é final de string.
GOSTEI 0
Marcio Souza
19/03/2019
Olá. No compile() você incluí o que está buscando e no matcher() é o texto fonte.
Dê uma olhada nesse tutorial - http://tutorials.jenkov.com/java-regex/matcher.html - é muito bom. Tem alguns outros que podem te dar umas dicas:
- https://www.devmedia.com.br/introducao-a-regex/15597
- https://www.tutorialspoint.com/javaregex/javaregex_pattern_matcher.htm
Pattern pattern = Pattern.compile("(black type)"); Matcher matcher = pattern.matcher("black green black white black type"); if (matcher.find()) { System.out.println(matcher.group(0)); } else { System.out.println("Nao encontrou."); }
Dê uma olhada nesse tutorial - http://tutorials.jenkov.com/java-regex/matcher.html - é muito bom. Tem alguns outros que podem te dar umas dicas:
- https://www.devmedia.com.br/introducao-a-regex/15597
- https://www.tutorialspoint.com/javaregex/javaregex_pattern_matcher.htm
GOSTEI 0
William
19/03/2019
Resolvi aqui, como ele casa com a primeira string que encontrar declarada no regex ordenei meu array para que o Pattern ficasse da seguinte forma:
Pattern padraoCor = Pattern.compile("(black type|black)");
assim ele só casa com black se não encontra o black type.
Pattern padraoCor = Pattern.compile("(black type|black)");
assim ele só casa com black se não encontra o black type.
GOSTEI 0