RegEX und eMail

H-net

Mitglied
hi...

ich habe einen String z.b. "Hans Meier (bla@bla.de)" oder "bla@bla.de" oder "Hans bla@bla.de".
irgendwo in dem string könnte also eine emailadresse stehen.
wie kann ich die mit RegEx rausfinden?

das passt zwar auf emails, aber nicht wenn noch irgendwas davor oder danach steht:
"([A-Za-z0-9.._-]*@[A-Za-z0-9.._-]*..[A-Za-z0-9.._-]{2,4})"

vielen dank schonmal
 
bin zwar kein experte, aber so in etwa:

(.*)([A-Za-z0-9.._-]*@[A-Za-z0-9.._-]*..[A-Za-z0-9.._-]{2,4})(.*)

So können vorne und hinten belieb viele Zeichen kommen
 
ne, so gehts leider nicht, wei ldan ndie emailadresse schon im .* vorkommen könnte...

mein test code is das:
Java:
public static void main(String[] arg) {
		String mail = "bla [email]mans_mei-e.r@blalba.de[/email] bla";
		Pattern p = Pattern.compile("(.*)([A-Za-z0-9.._-]*@[A-Za-z0-9.._-]*..[A-Za-z0-9.._-]{2,4})(.*)");
		Matcher m = p.matcher(mail);
		m.find();
		if(!m.matches()){
			System.out.println("nicht gefunden");
		}else{
			System.out.println("0: " + m.group(0));
			System.out.println("1: " + m.group(1));
			System.out.println("2: " + m.group(2));
			System.out.println("3: " + m.group(3));
			System.out.println("4: " + m.group(4));
		}
	}
(das mach das forum rein und steht eigentlich nicht drinn)

gibt damit aus:[CODE]0: bla mans_mei-e.r@blalba.de bla
1: bla mans_mei-e.r
2: @blalba.de bla
3: [/CODE]
 
hi..

dein ausdruck geht aber nur, wenn davor und danach abstände sind, sowas soll aber auch gehen: "Hans Meier (mans_mei-e.r@blalba.de)"

noch ideen?
 

Zurück
Oben