Reguläre Ausdrücke (Regular Expressions)





Sharp Develop integriert ein RegExp Toolkit unter Menüpunkt //Extras



Deutsches Tutorial für Reguläre Ausdrücke

Free RegEx Testing Tool for MacOSX, Windows, and Linux

http://www.quanetic.com/Regex

http://www.solmetra.com/scripts/regex/





PCRE für grep

pcregrep

Beispiele

Herr Anton Bauer

Ferdl Gustl

Ferdl Weiss

Herr Ferdl Gustl

Lookahead und Lookbehind

Finde im obigen Text alle Ferdls, die mit Herr eingeleitet werden

/(?<=Herr )Ferdl/ …. positive Lookbeind



Finde alle Ferdls, die nicht mit Herr eingeleitet werden

/(?<!Herr )Ferdl/ …. negativ Lookbeind



Finde alle Ferdls, auf die Gustl folgt

/Ferdl(?= Gustl)/ …. positive Lookahead



Finde alle Ferdls, auf die nicht Gustl folgt

/Ferdl(?! Gustl)/ …. negative Lookahead



Greedy und Lazy

*, + … greedy; suche bis das letzte Mal die Bedingung erfüllt ist

*?, +? … lazy; suche, bis das erste Mal die Bedingung erfüllt ist



Haystack: Herr Anton Bauer

Needle: /H.*e/ findet „Herr Anton Baue“

Needle: /H.*?e/ findet „He“



Gruppen (capturing group)

Die Suche nach Gruppen wird mit () gemacht; auf die Gruppen kann über \1,\2 usw. zugegriffen werden

zB:

\d+\.(\d+)\.\d+ \1

matcht folgende Haystacks:

12.1.2010 1

1.12.1992 12

1.3.2010 3