RegEx - Matches zählen ?

AvS

Erfahrenes Mitglied
Hi !

Ich habe folgendes Problem : Ich benutze eine Art "Whitelist" um ein Textdokument mit mehreren regulären Ausdrücken zu durchsuchen. Darunter ist einmal EMails, Datumsangaben, FIrmennamen, etc.
Dafür habe ich jeweils eine eigene Funktion geschrieben, das Ziel ist aber eine einheitliche Funktion, die durch die Whitelist iteriert und die jeweiligen Ergebnisse zählt.
Ist sowas in Java möglich ?
 
Java:
    public static void main(String[] args) {
        String text = "@adsf@asdf@asdf@";
        Pattern pattern = Pattern.compile("@");
        Matcher m = pattern.matcher(text);
        int i = 0;
        while(m.find()) {
            i++;
        }
        System.out.println("i=" + i);
    }

Ausgabe:
Code:
i=4
 
Zuletzt bearbeitet von einem Moderator:
Hi !

Die Idee gefällt mir, allerdings funtkioniert das komischerweise nur mit "echten" Wörtern. Wildcards wie bspw.
Java:
[A-Za-z]+.[A-Za-z]+@.+\\.[a-z]+

werden nicht gefunden. Das irritiert mich schon sehr, da der gleiche String in meiner alten Funktion gefunden wird (bzw. die Treffer)

Okay, Problem gelöst : Es lag lediglich an dem doppelten Backslash, der mit der obigen Funktion nicht mehr gemacht werden muss.
Vielen Dank nochmal !
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück