SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Einführung in RegEx
Florian Elbers
Definition und Nutzen
▪ Reguläre Ausdrücke (Englisch: regular
expressions, abgekürzt RegExp oder
Regex) bezeichnen genau definierte
Suchmuster, mit deren Hilfe sich in einer
Zeichenkette bestimmte Inhalte suchen
und bei Bedarf ersetzen lassen
▪ z. B.: „Suche nach allen Wörtern, die mit
einem großen D anfangen und mehr als
drei Buchstaben enthalten“
▪ => RegEx ersparen viel Arbeit und Zeit
▪ => RegEx erweitern den eigenen
Handlungsspielraum
Wann brauchen wir RegEx?
▪ Validierung und Filterung von Benutzereingaben, z. B. Spamfilter
▪ Durchsuchen von großen Datenmengen
▪ Aufteilung von Textdaten
▪ Konkretisieren von Abfragen, z. B. in Google Analytics
▪ uvm.
Was können Muster sein?
▪ Deutsche Postleitzahlen: D-27321
▪ D gefolgt von Bindestrich/Leerzeichen
▪ gefolgt von 5 Ziffern
▪ ISBN-Nummer: 978-3-442-54631-2
▪ 3 Ziffern (entweder 978 oder 979)
▪ gefolgt von einem Bindestrich
▪ gefolgt von 1 bis 5 Ziffern …
▪ Emailadresse: jemand@irgendwo.de
▪ Zeichenfolge gefolgt von @
▪ gefolgt von Zeichenfolge
▪ gefolgt von Punkt
▪ gefolgt von Zeichenfolge
Wie sieht so eine RegEx aus?
▪ copy *.doc c:temp
▪ /D{4}d{4}.tif/gi
▪ ^[+-]?(d+.d+|d+.|.d+|d+)([eE]
[+-]?d+)?$
▪ ^[a-zA-Z0-9][w.-]*@(?:[a-zA-Z0-9]
[a-zA-Z0-9_-]+.)+[A-Z,a-z]{2,5}$
Mit welchen Tools führt man ReGex aus?
▪ Textwrangler (Mac)
▪ Sublime Text (Mac)
▪ Notepad++ (Windows)
▪ VIM (Unix/Terminal)
▪ uvm.
Metazeichen
▪ . beliebiges Zeichen
▪ ^ (Zeilen-)Anfang
▪ $ (Zeilen-)Ende
▪ | Alternative
▪ ( … ) Subpattern
▪ [ … ] Zeichenklassen
▪ * + ? { n,m } Quantoren
▪  Aufheben der Meta- Eigenschaften
▪ .
▪ ^
▪ $
▪ …
Übersicht
Zeichenklassen
▪ Eckige Klammern finden in regulären Ausdrücken
Verwendung um eine Zeichenauswahl festzulegen
▪ [abc] Buchstabe a,b oder c
▪ [a-zA-Z0-9] alphanumerisches Zeichen
▪ [^a-zA-Z0-9] alles außer alphanumerischem Zeichen
▪ Vordefinierte Zeichenklassen
▪ d Zahl
▪ D keine Zahl
▪ w Wort
▪ W kein Wort
▪ s Whitespace
▪ s kein Whitespace
▪ t Tabulator
▪ r Zeilenumbruch
Typen
Quantoren
▪ Quantoren bzw. geschweifte Klammern dienen in
regulären Ausdrücken dazu eine Anzahl
festzulegen, also wie oft ein bestimmtes Zeichen
oder ein erlaubter Zeichenbereich vorkommen darf,
oder muss
▪ ? vorang. Ausdruck optional {0,1}
▪ + vorang. Ausdruck mindestens einmal {1,}
▪ * vorang. Ausdruck beliebig oft {0,}
▪ { min , max }
▪ { n } vor. Ausdruck exakt n-mal
▪ {, max } vor. Ausdruck maximal max-mal
▪ { min ,} vor. Ausdruck mindestens min-mal
Typen
Einstiegsbeispiel
▪ ^D[a-z]*i$
▪ Dieser reguläre Ausdruck ist wie folgt zu verstehen:
▪ ^ steht für den Beginn des Strings, d. h. der String muss mit einem großen D beginnen (keine Zeichen davor)
▪ $ steht für das Ende des Strings, es dürfen also keine Zeichen hinter dem kleinen i kommen.
▪ Innerhalb der eckigen Klammern wird eine Zeichengruppe angegeben, in diesem Beispiel sind alle Zeichen von a bis z (in
Kleinbuchstaben) erlaubt
▪ Das Sternchen (*) steht für beliebiges Vorkommen des zuvor definierten Wertes. In unserem Beispiel darf also nach dem
großen D beliebig oft ein Zeichen aus der Menge a bis z vorkommen.
▪ Welche Eingaben sind damit erlaubt?
▪ DelphiXE - Nein, weil der String mit einem kleinen i enden muss
▪ Del-phi - Nein, weil zwischen D und i nur Kleinbuchstaben stehen dürfen und keine Bindestriche
▪ Delphi - korrekt
Weitere Einstiegsbeispiele
▪ Leerzeilen löschen:
▪ r+ durch r ersetzen
▪ Datum umformatieren:
▪ 01.02.1900 zu 1900-02-01
▪ (d{2}).(d{2}).(d{4}) durch 3-2-1 ersetzen
▪ Bestimmte Dateien aus der Liste löschen:
▪ *.(jpg|jpeg|css|js)
▪ Liste von AuBi-Artikel-URLs => ID rausfiltern
▪ http://www.autobild.de/artikel/fahrbericht-mercedes-benz-s-320-cdi-53622.html
▪ ^(.*?)-(d+).html ersetzen mit 2
Einfache Beispiele
.*
Einfache Beispiele
.*
Jedes beliebige Zeichen
Einfache Beispiele
.*
Jedes beliebige Zeichen
Beliebig oft (auch kein-mal)
Einfache Beispiele – Alternative
(F|Ph)antasie
Text:
„Phantasie kann man auch Fantasie schreiben, aber nicht Fantasy.“
Einfache Beispiele – Alternative
(F|Ph)antasie
Text:
„Phantasie kann man auch Fantasie schreiben, aber nicht Fantasy.“
Einfache Beispiele – Quantoren
auto-{0,1}bild
auto-?bild
Text:
autobild
auto bild
auto-bild
Einfache Beispiele – Quantoren
auto-{0,1}bild
auto-?bild
Text:
autobild
auto bild
auto-bild
Einfache Beispiele – Zeichenklassen
[KP-R]omma
Text:
Ohne Punkt und Komma
Ohne Punkt und Pomma
Ohne Punkt und Qomma
Ohne Punkt und Romma
Ohne Punkt und Somma
Einfache Beispiele – Zeichenklassen
[KP-R]omma
Text:
Ohne Punkt und Komma
Ohne Punkt und Pomma
Ohne Punkt und Qomma
Ohne Punkt und Romma
Ohne Punkt und Somma
Einfache Beispiele – Negation mit Zirkumflex
[^K]omma
Text:
Ohne Punkt und Komma
Ohne Punkt und Pomma
Ohne Punkt und Qomma
Ohne Punkt und Romma
Ohne Punkt und Somma
Einfache Beispiele – Negation mit Zirkumflex
[^K]omma
Text:
Ohne Punkt und Komma
Ohne Punkt und Pomma
Ohne Punkt und Qomma
Ohne Punkt und Romma
Ohne Punkt und Somma
Einfache Beispiele – Zeichenklassen
d+.d+.d+
Text:
11. Dezember 1980
4.10.1999
04/09/1979
01.02.2013
Einfache Beispiele – Zeichenklassen
d+.d+.d+
Text:
11. Dezember 1980
4.10.1999
04/09/1979
01.02.2013
Einfache Beispiele – Postleitzahlen
^[0-9]{5}$
Text:
22767 Hamburg
1234
20251
Einfache Beispiele – Postleitzahlen
^[0-9]{5}$
Text:
22767 Hamburg
1234
20251
Einfache Beispiele – Postleitzahlen
^[0-9]{5}$
Nur komplette Zeile
Einfache Beispiele – Postleitzahlen
^[0-9]{5}$
Nur komplette Zeile
Ziffern von 0 bis 9
Einfache Beispiele – Postleitzahlen
^[0-9]{5}$
Nur komplette Zeile
Ziffern von 0 bis 9
Genau 5 Stück
Einfache Beispiele – HTML-Tags
<title>(.*?)</title>
Text:
<title>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</title>
<title class=„title“>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</title>
<title><b>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</b></title>
Einfache Beispiele – HTML-Tags
<title>(.*?)</title>
Text:
<title>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</title>
<title class=„title“>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</title>
<title><b>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</b></title>
Fortgeschrittene Beispiele
http://www.computerbild.de/sitemap-
glossar.xml
To Do:
Bekommen aller Keywords der Glossarseiten aus den URLs
Fortgeschrittene Beispiele
http://www.computerbild.de/sitemap-
glossar.xml
To Do:
Bekommen aller Keywords der Glossarseiten aus den URLs
^http://www.computerbild.de/glossar/(.*?)-d+.html ersetzen durch 1
Wer mehr über RegEx wissen möchte
▪ http://www.mediaevent.de/javascript/
Javascript-Regulaere-Ausdruecke-
1.html
▪ http://www.danielfett.de/internet-und-
opensource,artikel,regulaere-
ausdruecke
▪ http://www.regenechsen.de/phpwcm
s/index.php?id=4,0,0,1,0,0
▪ http://regexcrossword.com/

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Regular Expressions
Introduction to Regular ExpressionsIntroduction to Regular Expressions
Introduction to Regular ExpressionsMatt Casto
 
Regular expressions
Regular expressionsRegular expressions
Regular expressionsShiraz316
 
Regular expressions
Regular expressionsRegular expressions
Regular expressionsRaj Gupta
 
String Matching with Finite Automata,Aho corasick,
String Matching with Finite Automata,Aho corasick,String Matching with Finite Automata,Aho corasick,
String Matching with Finite Automata,Aho corasick,8neutron8
 
C++ Standard Template Library
C++ Standard Template LibraryC++ Standard Template Library
C++ Standard Template LibraryIlio Catallo
 
A Brief Intro to Scala
A Brief Intro to ScalaA Brief Intro to Scala
A Brief Intro to ScalaTim Underwood
 
Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala
Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and ScalaSierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala
Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and ScalaPhilip Schwarz
 
TypeScript: Basic Features and Compilation Guide
TypeScript: Basic Features and Compilation GuideTypeScript: Basic Features and Compilation Guide
TypeScript: Basic Features and Compilation GuideNascenia IT
 
The Functional Programming Triad of Map, Filter and Fold
The Functional Programming Triad of Map, Filter and FoldThe Functional Programming Triad of Map, Filter and Fold
The Functional Programming Triad of Map, Filter and FoldPhilip Schwarz
 
Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala - with ...
Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala - with ...Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala - with ...
Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala - with ...Philip Schwarz
 
정규표현식(Regular expressions)
정규표현식(Regular expressions)정규표현식(Regular expressions)
정규표현식(Regular expressions)Juhee Kim
 
Introduction of suffix tree
Introduction of suffix treeIntroduction of suffix tree
Introduction of suffix treeLiou Shu Hung
 

Was ist angesagt? (20)

Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Introduction to Regular Expressions
Introduction to Regular ExpressionsIntroduction to Regular Expressions
Introduction to Regular Expressions
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Haskell study 5
Haskell study 5Haskell study 5
Haskell study 5
 
String Matching with Finite Automata,Aho corasick,
String Matching with Finite Automata,Aho corasick,String Matching with Finite Automata,Aho corasick,
String Matching with Finite Automata,Aho corasick,
 
Haskell study 2
Haskell study 2Haskell study 2
Haskell study 2
 
C++ Standard Template Library
C++ Standard Template LibraryC++ Standard Template Library
C++ Standard Template Library
 
A Brief Intro to Scala
A Brief Intro to ScalaA Brief Intro to Scala
A Brief Intro to Scala
 
Haskell study 8
Haskell study 8Haskell study 8
Haskell study 8
 
Predictive parser
Predictive parserPredictive parser
Predictive parser
 
Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala
Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and ScalaSierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala
Sierpinski Triangle - Polyglot FP for Fun and Profit - Haskell and Scala
 
TypeScript: Basic Features and Compilation Guide
TypeScript: Basic Features and Compilation GuideTypeScript: Basic Features and Compilation Guide
TypeScript: Basic Features and Compilation Guide
 
The Functional Programming Triad of Map, Filter and Fold
The Functional Programming Triad of Map, Filter and FoldThe Functional Programming Triad of Map, Filter and Fold
The Functional Programming Triad of Map, Filter and Fold
 
Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala - with ...
Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala - with ...Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala - with ...
Folding Unfolded - Polyglot FP for Fun and Profit - Haskell and Scala - with ...
 
Haskell study 3
Haskell study 3Haskell study 3
Haskell study 3
 
Haskell study 1
Haskell study 1Haskell study 1
Haskell study 1
 
Haskell study 9
Haskell study 9Haskell study 9
Haskell study 9
 
정규표현식(Regular expressions)
정규표현식(Regular expressions)정규표현식(Regular expressions)
정규표현식(Regular expressions)
 
Introduction of suffix tree
Introduction of suffix treeIntroduction of suffix tree
Introduction of suffix tree
 

Andere mochten auch

Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!Anatoly Sharifulin
 
Perl File Handling and Regex
Perl File Handling and RegexPerl File Handling and Regex
Perl File Handling and RegexJayant Parida
 
The Power of Regular Expression: use in notepad++
The Power of Regular Expression: use in notepad++The Power of Regular Expression: use in notepad++
The Power of Regular Expression: use in notepad++Anjesh Tuladhar
 
Cita de un experto
Cita de un expertoCita de un experto
Cita de un expertoAna Villa
 
Wir kehren gruendlich_faltblatt_ippnw
Wir kehren gruendlich_faltblatt_ippnwWir kehren gruendlich_faltblatt_ippnw
Wir kehren gruendlich_faltblatt_ippnwmetropolsolar
 
Innovationsmanagement auf SharePoint 2010
Innovationsmanagement auf SharePoint 2010Innovationsmanagement auf SharePoint 2010
Innovationsmanagement auf SharePoint 2010IPI GmbH
 
agenturexcellence-Termine 28. Durchgang
agenturexcellence-Termine 28. Durchgangagenturexcellence-Termine 28. Durchgang
agenturexcellence-Termine 28. DurchgangMeike Sahlmann
 
Social Media Marketing - Wirtschaftsrat Stuttgart 15.05.2012
Social Media Marketing - Wirtschaftsrat Stuttgart 15.05.2012Social Media Marketing - Wirtschaftsrat Stuttgart 15.05.2012
Social Media Marketing - Wirtschaftsrat Stuttgart 15.05.2012Stefan Zimmermann
 
Facebook Deals - Informationen für Unternehmen
Facebook Deals - Informationen für UnternehmenFacebook Deals - Informationen für Unternehmen
Facebook Deals - Informationen für UnternehmenNorman Kaulfuß
 
Einführung in die Tagebücher von Max Frisch
Einführung in die Tagebücher von Max FrischEinführung in die Tagebücher von Max Frisch
Einführung in die Tagebücher von Max FrischPhilippe Wampfler
 
Combinar correspondencia :3
Combinar correspondencia :3Combinar correspondencia :3
Combinar correspondencia :3cristian567
 
Web Agentur Körbler
Web Agentur KörblerWeb Agentur Körbler
Web Agentur KörblerKoerbler
 
El mundo de la tecnologia
El mundo de la tecnologiaEl mundo de la tecnologia
El mundo de la tecnologiaisabella1999
 

Andere mochten auch (20)

Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!
 
Списъци и масиви
Списъци и масивиСписъци и масиви
Списъци и масиви
 
Perl File Handling and Regex
Perl File Handling and RegexPerl File Handling and Regex
Perl File Handling and Regex
 
Syntax
SyntaxSyntax
Syntax
 
Andrei's Regex Clinic
Andrei's Regex ClinicAndrei's Regex Clinic
Andrei's Regex Clinic
 
The Power of Regular Expression: use in notepad++
The Power of Regular Expression: use in notepad++The Power of Regular Expression: use in notepad++
The Power of Regular Expression: use in notepad++
 
Sebas blog
Sebas blogSebas blog
Sebas blog
 
Cita de un experto
Cita de un expertoCita de un experto
Cita de un experto
 
Wir kehren gruendlich_faltblatt_ippnw
Wir kehren gruendlich_faltblatt_ippnwWir kehren gruendlich_faltblatt_ippnw
Wir kehren gruendlich_faltblatt_ippnw
 
Innovationsmanagement auf SharePoint 2010
Innovationsmanagement auf SharePoint 2010Innovationsmanagement auf SharePoint 2010
Innovationsmanagement auf SharePoint 2010
 
agenturexcellence-Termine 28. Durchgang
agenturexcellence-Termine 28. Durchgangagenturexcellence-Termine 28. Durchgang
agenturexcellence-Termine 28. Durchgang
 
Social Media Marketing - Wirtschaftsrat Stuttgart 15.05.2012
Social Media Marketing - Wirtschaftsrat Stuttgart 15.05.2012Social Media Marketing - Wirtschaftsrat Stuttgart 15.05.2012
Social Media Marketing - Wirtschaftsrat Stuttgart 15.05.2012
 
Facebook Deals - Informationen für Unternehmen
Facebook Deals - Informationen für UnternehmenFacebook Deals - Informationen für Unternehmen
Facebook Deals - Informationen für Unternehmen
 
Einführung in die Tagebücher von Max Frisch
Einführung in die Tagebücher von Max FrischEinführung in die Tagebücher von Max Frisch
Einführung in die Tagebücher von Max Frisch
 
Seminartermine
SeminartermineSeminartermine
Seminartermine
 
Combinar correspondencia :3
Combinar correspondencia :3Combinar correspondencia :3
Combinar correspondencia :3
 
Web Agentur Körbler
Web Agentur KörblerWeb Agentur Körbler
Web Agentur Körbler
 
El mundo de la tecnologia
El mundo de la tecnologiaEl mundo de la tecnologia
El mundo de la tecnologia
 
Presentacion
PresentacionPresentacion
Presentacion
 
Lenguaje y comunicacion
Lenguaje y comunicacionLenguaje y comunicacion
Lenguaje y comunicacion
 

Einführung in RegEx

  • 2. Definition und Nutzen ▪ Reguläre Ausdrücke (Englisch: regular expressions, abgekürzt RegExp oder Regex) bezeichnen genau definierte Suchmuster, mit deren Hilfe sich in einer Zeichenkette bestimmte Inhalte suchen und bei Bedarf ersetzen lassen ▪ z. B.: „Suche nach allen Wörtern, die mit einem großen D anfangen und mehr als drei Buchstaben enthalten“ ▪ => RegEx ersparen viel Arbeit und Zeit ▪ => RegEx erweitern den eigenen Handlungsspielraum
  • 3. Wann brauchen wir RegEx? ▪ Validierung und Filterung von Benutzereingaben, z. B. Spamfilter ▪ Durchsuchen von großen Datenmengen ▪ Aufteilung von Textdaten ▪ Konkretisieren von Abfragen, z. B. in Google Analytics ▪ uvm.
  • 4. Was können Muster sein? ▪ Deutsche Postleitzahlen: D-27321 ▪ D gefolgt von Bindestrich/Leerzeichen ▪ gefolgt von 5 Ziffern ▪ ISBN-Nummer: 978-3-442-54631-2 ▪ 3 Ziffern (entweder 978 oder 979) ▪ gefolgt von einem Bindestrich ▪ gefolgt von 1 bis 5 Ziffern … ▪ Emailadresse: jemand@irgendwo.de ▪ Zeichenfolge gefolgt von @ ▪ gefolgt von Zeichenfolge ▪ gefolgt von Punkt ▪ gefolgt von Zeichenfolge
  • 5. Wie sieht so eine RegEx aus? ▪ copy *.doc c:temp ▪ /D{4}d{4}.tif/gi ▪ ^[+-]?(d+.d+|d+.|.d+|d+)([eE] [+-]?d+)?$ ▪ ^[a-zA-Z0-9][w.-]*@(?:[a-zA-Z0-9] [a-zA-Z0-9_-]+.)+[A-Z,a-z]{2,5}$
  • 6. Mit welchen Tools führt man ReGex aus? ▪ Textwrangler (Mac) ▪ Sublime Text (Mac) ▪ Notepad++ (Windows) ▪ VIM (Unix/Terminal) ▪ uvm.
  • 7. Metazeichen ▪ . beliebiges Zeichen ▪ ^ (Zeilen-)Anfang ▪ $ (Zeilen-)Ende ▪ | Alternative ▪ ( … ) Subpattern ▪ [ … ] Zeichenklassen ▪ * + ? { n,m } Quantoren ▪ Aufheben der Meta- Eigenschaften ▪ . ▪ ^ ▪ $ ▪ … Übersicht
  • 8. Zeichenklassen ▪ Eckige Klammern finden in regulären Ausdrücken Verwendung um eine Zeichenauswahl festzulegen ▪ [abc] Buchstabe a,b oder c ▪ [a-zA-Z0-9] alphanumerisches Zeichen ▪ [^a-zA-Z0-9] alles außer alphanumerischem Zeichen ▪ Vordefinierte Zeichenklassen ▪ d Zahl ▪ D keine Zahl ▪ w Wort ▪ W kein Wort ▪ s Whitespace ▪ s kein Whitespace ▪ t Tabulator ▪ r Zeilenumbruch Typen
  • 9. Quantoren ▪ Quantoren bzw. geschweifte Klammern dienen in regulären Ausdrücken dazu eine Anzahl festzulegen, also wie oft ein bestimmtes Zeichen oder ein erlaubter Zeichenbereich vorkommen darf, oder muss ▪ ? vorang. Ausdruck optional {0,1} ▪ + vorang. Ausdruck mindestens einmal {1,} ▪ * vorang. Ausdruck beliebig oft {0,} ▪ { min , max } ▪ { n } vor. Ausdruck exakt n-mal ▪ {, max } vor. Ausdruck maximal max-mal ▪ { min ,} vor. Ausdruck mindestens min-mal Typen
  • 10. Einstiegsbeispiel ▪ ^D[a-z]*i$ ▪ Dieser reguläre Ausdruck ist wie folgt zu verstehen: ▪ ^ steht für den Beginn des Strings, d. h. der String muss mit einem großen D beginnen (keine Zeichen davor) ▪ $ steht für das Ende des Strings, es dürfen also keine Zeichen hinter dem kleinen i kommen. ▪ Innerhalb der eckigen Klammern wird eine Zeichengruppe angegeben, in diesem Beispiel sind alle Zeichen von a bis z (in Kleinbuchstaben) erlaubt ▪ Das Sternchen (*) steht für beliebiges Vorkommen des zuvor definierten Wertes. In unserem Beispiel darf also nach dem großen D beliebig oft ein Zeichen aus der Menge a bis z vorkommen. ▪ Welche Eingaben sind damit erlaubt? ▪ DelphiXE - Nein, weil der String mit einem kleinen i enden muss ▪ Del-phi - Nein, weil zwischen D und i nur Kleinbuchstaben stehen dürfen und keine Bindestriche ▪ Delphi - korrekt
  • 11. Weitere Einstiegsbeispiele ▪ Leerzeilen löschen: ▪ r+ durch r ersetzen ▪ Datum umformatieren: ▪ 01.02.1900 zu 1900-02-01 ▪ (d{2}).(d{2}).(d{4}) durch 3-2-1 ersetzen ▪ Bestimmte Dateien aus der Liste löschen: ▪ *.(jpg|jpeg|css|js) ▪ Liste von AuBi-Artikel-URLs => ID rausfiltern ▪ http://www.autobild.de/artikel/fahrbericht-mercedes-benz-s-320-cdi-53622.html ▪ ^(.*?)-(d+).html ersetzen mit 2
  • 14. Einfache Beispiele .* Jedes beliebige Zeichen Beliebig oft (auch kein-mal)
  • 15. Einfache Beispiele – Alternative (F|Ph)antasie Text: „Phantasie kann man auch Fantasie schreiben, aber nicht Fantasy.“
  • 16. Einfache Beispiele – Alternative (F|Ph)antasie Text: „Phantasie kann man auch Fantasie schreiben, aber nicht Fantasy.“
  • 17. Einfache Beispiele – Quantoren auto-{0,1}bild auto-?bild Text: autobild auto bild auto-bild
  • 18. Einfache Beispiele – Quantoren auto-{0,1}bild auto-?bild Text: autobild auto bild auto-bild
  • 19. Einfache Beispiele – Zeichenklassen [KP-R]omma Text: Ohne Punkt und Komma Ohne Punkt und Pomma Ohne Punkt und Qomma Ohne Punkt und Romma Ohne Punkt und Somma
  • 20. Einfache Beispiele – Zeichenklassen [KP-R]omma Text: Ohne Punkt und Komma Ohne Punkt und Pomma Ohne Punkt und Qomma Ohne Punkt und Romma Ohne Punkt und Somma
  • 21. Einfache Beispiele – Negation mit Zirkumflex [^K]omma Text: Ohne Punkt und Komma Ohne Punkt und Pomma Ohne Punkt und Qomma Ohne Punkt und Romma Ohne Punkt und Somma
  • 22. Einfache Beispiele – Negation mit Zirkumflex [^K]omma Text: Ohne Punkt und Komma Ohne Punkt und Pomma Ohne Punkt und Qomma Ohne Punkt und Romma Ohne Punkt und Somma
  • 23. Einfache Beispiele – Zeichenklassen d+.d+.d+ Text: 11. Dezember 1980 4.10.1999 04/09/1979 01.02.2013
  • 24. Einfache Beispiele – Zeichenklassen d+.d+.d+ Text: 11. Dezember 1980 4.10.1999 04/09/1979 01.02.2013
  • 25. Einfache Beispiele – Postleitzahlen ^[0-9]{5}$ Text: 22767 Hamburg 1234 20251
  • 26. Einfache Beispiele – Postleitzahlen ^[0-9]{5}$ Text: 22767 Hamburg 1234 20251
  • 27. Einfache Beispiele – Postleitzahlen ^[0-9]{5}$ Nur komplette Zeile
  • 28. Einfache Beispiele – Postleitzahlen ^[0-9]{5}$ Nur komplette Zeile Ziffern von 0 bis 9
  • 29. Einfache Beispiele – Postleitzahlen ^[0-9]{5}$ Nur komplette Zeile Ziffern von 0 bis 9 Genau 5 Stück
  • 30. Einfache Beispiele – HTML-Tags <title>(.*?)</title> Text: <title>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</title> <title class=„title“>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</title> <title><b>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</b></title>
  • 31. Einfache Beispiele – HTML-Tags <title>(.*?)</title> Text: <title>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</title> <title class=„title“>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</title> <title><b>COMPUTER BILD: Tests, Downloads, Ratgeber & Kurse</b></title>
  • 33. Fortgeschrittene Beispiele http://www.computerbild.de/sitemap- glossar.xml To Do: Bekommen aller Keywords der Glossarseiten aus den URLs ^http://www.computerbild.de/glossar/(.*?)-d+.html ersetzen durch 1
  • 34. Wer mehr über RegEx wissen möchte ▪ http://www.mediaevent.de/javascript/ Javascript-Regulaere-Ausdruecke- 1.html ▪ http://www.danielfett.de/internet-und- opensource,artikel,regulaere- ausdruecke ▪ http://www.regenechsen.de/phpwcm s/index.php?id=4,0,0,1,0,0 ▪ http://regexcrossword.com/