regex ganzer string?

liann

Mitglied
Hallo, ich bin ganz neu, wenn's um regex geht und schreibe gerade nur zu übung ein regex, welches eine email adresse erkenn soll
Java:
lic static void email() {
        Scanner input = new Scanner(System.in);
        while (true) {
            Pattern date = Pattern.compile(".[[.]&[^\\s]]{1,63}@.[[.]&[^\\s_]]{0,63}\\.\\w[a-z]{2,6}");
            String line = input.nextLine();
            Matcher m = date.matcher(line);
            while (m.find())
                System.out.println(m.group());
            if (line.equals("!"))
                break;
        }
        input.close();
Das klappt auch alles, nur wenn ich zum Beispiel folgendes eingebe:
Java:
 test@das istfalsch@gmail.com
Dann will ich nichts ausgeben lassen, nur group() würde dann ja
Java:
istfalsch@gmail.com
als email adresse sehen (was sie ja ist).
Wie geht das am Besten?

EDIT:
das gleiche Problem habe ich, wenn ich am ende (hatte ja gesagt, maximal 6 zeichen nach dem .) 7 zeichen eingebe, wird das letzte zeichen einfach "abgeschnitten".
 
Zuletzt bearbeitet:
Du musst nur den String matchen (lines.matches(REGEX), wobei REGEX eben der String mit dem Regex ist). Die Methode liefert true, wenn der String auf den Ausdruck passt, false sonst.
 

Zurück
Oben