Buscar 2 valores

9 respostas
B

Como faço para imprimir o email [email removido] e [email removido] … do jeito que esta ae, so imprimi um ! como faço pra se caso tiver um ou mais emails na msm linha ele extrair todos ? alguma ideia ?

private static String expEmail = "([0-9,a-z,A-Z,.,_,-]+)([.,_,-]([0-9,a-z,A-Z]+))*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})";
	

	
	public static void main(String[] args) {
		String s = "kakaka [email removido] uhasudhauhda [email removido]";
		Pattern p = Pattern.compile(expEmail);
        Matcher m = p.matcher(s);
        while (m.find()) {
        	if (m.matches()) {
        		System.out.println(s);
        	} else {
        		//System.out.println(s);
        	}
       }
	}

9 Respostas

ViniGodoy

Use o comando split para separar os e-mails.
Depois use a expressão para testar um e-mail de cada vez.

danieldestro

final String REGEX_EMAIL = "[0-9a-zA-Z_\\-]+(\\.[0-9a-zA-Z_\\-]+)*@[0-9a-zA-Z_\\-]+(\\.[0-9a-zA-Z_\\-]+)*"; String s = "kakaka [email removido] uhasudhauhda [email removido]"; Pattern p = Pattern.compile(REGEX_EMAIL); Matcher m = p.matcher(s); while (m.find()) { System.out.println(m.group()); }

B

mais como eu faria o split para checar se existem 2 ou mais emails ? pode ter 2 mais como pode ter 10 ! nao estou consiguino quebrar a string em partes ! :confused:

A

Tchê, segue o código com o uso do split, depois tu precisas examinar as posições de ‘mails’ para validar o que é endereço de e-mail e o que não é.

String entrada = "[email removido] [email removido] [email removido]";
     String [] mails;
	
     mails = entrada.split(" ");//divide no caracter espaço
		
     for(int i=0; i< mails.length; i++){
         System.out.println("mail: "+mails[i]);
     }
danieldestro

Cara, o exemplo que eu passei com regular expression funciona. Qual o galho?

B

funciona nao ! se tiver por exemplo guj [email removido] java [email removido] ele imprimi [email removido] java [email removido]!!! ja havia testado e nao funcionou tem outra ideia ?

danieldestro

Cara, o meu exemplo funciona sim… ve direito (eu mudei a regex).

B

valew daniel!!!

eu nao tinha visto que havia mudado a expressao!! Funcionou sim! Mais pq com a expressao antiga nao funciona? sabe explica ?

danieldestro

Não parei pra ver. Mas acho que deve ser por causa das vírgulas.

Criado 6 de novembro de 2008
Ultima resposta 11 de nov. de 2008
Respostas 9
Participantes 4