Erste Schritte Regular Expression

Dimax

Top Contributor
Guten Tag,
ich lerne gerade regex und versuche eins zu erstellen ,dass klappt aber nicht.
Ich muss ein Wort zmb. "IF" in einem Text finden und zusammenzahlen wie oft .
Das Wort kann auf eine beliebige Stelle im Satz stehen darf aber nicht ein Teil des anderen Wortes sein.
Mein Versuch :

Java:
public static int counter(String gesucht,String text) {
    int zahl=0;
    Pattern p=Pattern.compile("^\\w"+gesucht+"\\b|\\s"+gesucht+"\\w\\b");
    Matcher m=p.matcher(text);
    while(m.find()) {
        zahl++;
    }
Gibt keinen Fehler aus findet aber auch nichts.
Danke im Voraus.
 

Dimax

Top Contributor
Danke,hab geändert auf
Java:
Pattern p=Pattern.compile("^\\b"+gesucht+"\\b|\\s"+gesucht+"\\b");

und das hat gezählt,muss nur noch prüfen ob das Ergebnis stimmt.
 

Dimax

Top Contributor
Hab getestet
das Muster
Code:
Pattern p=Pattern.compile("^\\b"+gesucht+"\\b|\\s"+gesucht+"\\b");
zählt "%gesucht" nicht,
das Muster
Code:
Pattern p=Pattern.compile("\\b"+gesucht+"\\b");
zählt "%gesucht" mit.
 

Dimax

Top Contributor
hab mich für das Muster entschieden:
Code:
Pattern p=Pattern.compile("^"+gesucht+"\\s|\\s"+gesucht+"\\s|\\s"+gesucht+"\\z");
 

httpdigest

Top Contributor
Das erkennt kein Wort an einem Satzende.
Ich verstehe nicht, wieso du nicht einfach "\\b"+gesucht+"\\b" nimmst.
Dein Beispiel mit "fox" innerhalb von "%fox" suchen funktioniert doch... Er finde "fox" innerhalb von "%fox".

Die Character-Klasse \b matched auf allen Übergängen eines als \w und eines als \W matchenden Zeichens.
 

Dimax

Top Contributor
was soll das heißen?
also das Muster mit \\b passt nicht ,weil ich muss wirklich nur die Wörter zusammenzählen ,die keine Zeichen enthalten.
zmb. %IF brauche ich nicht ,und IF% auch nicht,nur die IF .
3 Varianten von Treffern:
1.Das gesuchte Wort steht am Anfang eines Satzes ,ohne allen möglichen Sonderzeichen und dann folgt leeres Platz,
2.Vor dem gesuchten Wort steht Leerzeichen und nach danach Leerzeichen.
3.Vor dem gesuchten Wort steht Leerzeichen und danach Satzende.
 
Zuletzt bearbeitet:

Dimax

Top Contributor
könnte mir jemand vielleicht helfen den regex so modifizieren das er nach dem
\\s"+gesucht+"\\s wenns '=' kommt nicht zusammenzählt?
 

Flown

Administrator
Mitarbeiter
Ich würde hier mit lookbehind und lookahead arbeiten, damit wirklich nur der match auf das gesucht passiert:
(?<=^|\s)gesucht(?=\s++[^=]|\s*$)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L String extrahieren mit Regular Expression über mehrere Zeilen hinweg Java Basics - Anfänger-Themen 1
B Regular Expression bei replace Java Basics - Anfänger-Themen 11
O Regular Expression Java Basics - Anfänger-Themen 4
F Hilfe Regular Expression Grouping Value Java Basics - Anfänger-Themen 3
Y Was macht folgende Regular Expression Java Basics - Anfänger-Themen 2
S regular expression - suche nach | Java Basics - Anfänger-Themen 10
M Regular Expression - Passwort - aufeinanderfolgende Zeichen Java Basics - Anfänger-Themen 3
S regular expression - bekomme leerzeichen nicht raus Java Basics - Anfänger-Themen 3
J Frage zu Regular Expression Java Basics - Anfänger-Themen 2
P Passwort überprüfen mit regular Expression Java Basics - Anfänger-Themen 4
B Java - Reguläre Ausdrücke - RegEx oder Regular Expressions - Eckige Klammern Java Basics - Anfänger-Themen 2
Burny91 Compiler-Fehler Regular Expressions matchen nicht korrekt Java Basics - Anfänger-Themen 5
R regular expressions Java Basics - Anfänger-Themen 3
eykarhorn Escapen in Regular Expressions Java Basics - Anfänger-Themen 7
G Regular expressions Java Basics - Anfänger-Themen 6
G Regular expressions Java Basics - Anfänger-Themen 3
D Regular Expressions Java Basics - Anfänger-Themen 2
G Regular Expressions Java Basics - Anfänger-Themen 3
P Regular expressions: Liste? Java Basics - Anfänger-Themen 7
J Regular Expressions Java Basics - Anfänger-Themen 5
richrich99 error: illegal start of expression Java Basics - Anfänger-Themen 10
I String Expression mit Java validieren (true / false) Java Basics - Anfänger-Themen 34
M Java 8 Lambda Expression Java Basics - Anfänger-Themen 1
J Compiler-Fehler Illegal Start of expression / '/'expected Java Basics - Anfänger-Themen 3
T Not a Statement/Illegal Start of expression bei for Anweisung Java Basics - Anfänger-Themen 6
K Lambda-Expression Java Basics - Anfänger-Themen 4
P ,,Illegal start of expression,, Java Basics - Anfänger-Themen 3
G Reg Expression Java Basics - Anfänger-Themen 6
Z constant expression required Java Basics - Anfänger-Themen 6
K illegal starts of expression Java Basics - Anfänger-Themen 2
S Compiler-Fehler illegal start of expression Java Basics - Anfänger-Themen 4
P illegal start of expression wie löse ich das? Java Basics - Anfänger-Themen 2
P expression tree Java Basics - Anfänger-Themen 4
O Methoden Fehlermeldung(Illegal start of expression) bei 4-Gewinnt-Spiel Java Basics - Anfänger-Themen 5
R illegal start of expression - 3 Strings vergleichen mit .equals () Java Basics - Anfänger-Themen 5
X Compiler-Fehler illegal start of expression Java Basics - Anfänger-Themen 9
T Expression Tree.. identifier + Grundaufbau? Java Basics - Anfänger-Themen 2
P Illegal start of expression Java Basics - Anfänger-Themen 8
O Illegal start of expression Java Basics - Anfänger-Themen 3
L Illegal start of expression? Java Basics - Anfänger-Themen 4
S HTML Regularer Expression Java Basics - Anfänger-Themen 20
R GUI mit if-Verzweigung kombiniert - Illegal start of expression (Dringend) Java Basics - Anfänger-Themen 7
S illegal start of expression Java Basics - Anfänger-Themen 2
B Wieso ein Fehler? illegal Starts of expression? Java Basics - Anfänger-Themen 12
M [Hibernate] "Illegal start of expression"-Fehler b Java Basics - Anfänger-Themen 2
D "Illegal Start of Expression" und "; expected Java Basics - Anfänger-Themen 3
G Immer wieder illegal start of expression Java Basics - Anfänger-Themen 15
M regüläre Ausdrücke, die String - Variablen und Expression Java Basics - Anfänger-Themen 5
D Expression Trees Java Basics - Anfänger-Themen 3
E illegal start of expression Java Basics - Anfänger-Themen 4
I Expression-Fehler Java Basics - Anfänger-Themen 2
S private String text; -> "Illegal start of expression Java Basics - Anfänger-Themen 7
B illegal start of expression Java Basics - Anfänger-Themen 6
S illegal start of expression Java Basics - Anfänger-Themen 2
D switch case must be constant expression Java Basics - Anfänger-Themen 7
L illegal start of expression? Java Basics - Anfänger-Themen 19
F Einem Array Werte zuweisen. (illegal start of expression) Java Basics - Anfänger-Themen 4
J Fehlersuche - illegal start of expression Java Basics - Anfänger-Themen 3
D Illegal start of expression - nur warum ? Java Basics - Anfänger-Themen 3
G Fehler: Illegal Expression. Was mache ich falsch? Java Basics - Anfänger-Themen 4
T Methodenerror:"Illegal start of expression" Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben