Quero validar nome próprio com os seguintes padrões:
- 1ª letra maiúscula, seguido de 1 letra minúscula ou mais.
Fazendo esta validação com o método matches da String, esta perfeito, mas utilizando a classe Pattern não estou tendo êxito.
Realizei alguns testes e constatei que quando utilizo a classe Pattern com o método find da classe Matcher, esse método verifica se a regex determinada ocorre em qualquer posição.
Como faço para utilizar a classe Pattern para validações de expressões regulares?
[code]import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestRE {
public static void main(String[] args) {
String rE = "[A-Z]{1}[a-z]+";
String nome = "marcioyukIo";// penultima letra maiuscula
boolean b;
b = nome.matches(rE); //sera igual false
System.out.println(b);
// Utilizando classe Pattern
Pattern p = Pattern.compile(rE);
Matcher m = p.matcher(nome);
b = m.find();
System.out.println(b); // sera igual true
}
}[/code]
Solução: alterar
b = m.find();
por
b = m.matches();