Quero obter uma certa parte de uma string a partir de uma regex , por exemplo:
String x = “Meu email é[email removido]”
quero pegar somente o email e salvar em outra variavel
Quero obter uma certa parte de uma string a partir de uma regex , por exemplo:
String x = “Meu email é[email removido]”
quero pegar somente o email e salvar em outra variavel
String regex = "([A-Za-z0-9_])+@([A-Za-z]+\\.)+[A-Za-z]{2,4}",
entrada = "Meu email é [email removido]";
Matcher matcher = Pattern.compile(regex).matcher(entrada);
if (matcher.find()) {
System.out.println("Email encontrado: " + matcher.group());
}
Saída:
Email encontrado: [email removido]
Explicando:
([A-Za-z0-9_])+ quer dizer que antes do @ poderá conter tanto letras maiúsculas/minúsculas, números e underline.
([A-Za-z]+\\.)+ quer dizer que após o @ poderá conter letras maiúsculas/minúsculas e deverá terminar em um ponto ( . ), e seguindo esse padrão, poderá ocorrer inúmeras vezes.
[A-Za-z]{2,4} que dizer que no final desse endereço deve conter ao menos 2~4 letras (geralmente um com ou br )
Eu nunca fiz algo do tipo e tudo que eu fiz aqui eu pesquisei antes de responder, não sei se é a forma mais eficaz de se fazer, mas pode ser útil para você :^)
nao é a forma eficaz, mas foi a unica que também encontrei pesquisando antes de vir ler sua resposta.