SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
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/

Mais conteúdo relacionado

Mais procurados

LanguageStore - Relativsatz
LanguageStore - RelativsatzLanguageStore - Relativsatz
LanguageStore - RelativsatzLanguageStore
 
Länder, sprachen und nationalitäten
Länder, sprachen und nationalitätenLänder, sprachen und nationalitäten
Länder, sprachen und nationalitätenDominik Pączkowski
 
Goethe zertifikat a2-modellsatz_erwachsene
Goethe zertifikat a2-modellsatz_erwachseneGoethe zertifikat a2-modellsatz_erwachsene
Goethe zertifikat a2-modellsatz_erwachseneMujo Sahinovic
 
Die adjektiv deklination
Die adjektiv deklinationDie adjektiv deklination
Die adjektiv deklinationRomanychch
 
What’s morphology
What’s morphologyWhat’s morphology
What’s morphologyJesus Payan
 
Informationstypen in Woerterbuechern - Deutsch
Informationstypen in Woerterbuechern - DeutschInformationstypen in Woerterbuechern - Deutsch
Informationstypen in Woerterbuechern - DeutschJelena Kostic-Tomovic
 
Imeničke konverzione tvorenice u nemačkom jeziku i njihovi ekvivalenti u srpskom
Imeničke konverzione tvorenice u nemačkom jeziku i njihovi ekvivalenti u srpskomImeničke konverzione tvorenice u nemačkom jeziku i njihovi ekvivalenti u srpskom
Imeničke konverzione tvorenice u nemačkom jeziku i njihovi ekvivalenti u srpskomJelena Kostic-Tomovic
 
Conjugaison present espagnol
Conjugaison present espagnolConjugaison present espagnol
Conjugaison present espagnolGeorgiemai
 
Compounding (Linguistics)
Compounding (Linguistics)Compounding (Linguistics)
Compounding (Linguistics)Dr. Mohsin Khan
 
Lexikografie und Wörterbuchbenutzungskompetenz: Eine Einführung für Germanist...
Lexikografie und Wörterbuchbenutzungskompetenz: Eine Einführung für Germanist...Lexikografie und Wörterbuchbenutzungskompetenz: Eine Einführung für Germanist...
Lexikografie und Wörterbuchbenutzungskompetenz: Eine Einführung für Germanist...Jelena Kostic-Tomovic
 
Comparing characteristics of old and middle english
Comparing characteristics of old and middle englishComparing characteristics of old and middle english
Comparing characteristics of old and middle englishAbdel-Fattah Adel
 
Morphemes & Types of morphemes
Morphemes & Types of morphemesMorphemes & Types of morphemes
Morphemes & Types of morphemesMahrukhShehzadi1
 
Chapter no. 4
Chapter no. 4Chapter no. 4
Chapter no. 4komal987
 

Mais procurados (15)

LanguageStore - Relativsatz
LanguageStore - RelativsatzLanguageStore - Relativsatz
LanguageStore - Relativsatz
 
Länder, sprachen und nationalitäten
Länder, sprachen und nationalitätenLänder, sprachen und nationalitäten
Länder, sprachen und nationalitäten
 
Goethe zertifikat a2-modellsatz_erwachsene
Goethe zertifikat a2-modellsatz_erwachseneGoethe zertifikat a2-modellsatz_erwachsene
Goethe zertifikat a2-modellsatz_erwachsene
 
Die adjektiv deklination
Die adjektiv deklinationDie adjektiv deklination
Die adjektiv deklination
 
Informal emails: features
Informal emails: featuresInformal emails: features
Informal emails: features
 
What’s morphology
What’s morphologyWhat’s morphology
What’s morphology
 
Informationstypen in Woerterbuechern - Deutsch
Informationstypen in Woerterbuechern - DeutschInformationstypen in Woerterbuechern - Deutsch
Informationstypen in Woerterbuechern - Deutsch
 
Imeničke konverzione tvorenice u nemačkom jeziku i njihovi ekvivalenti u srpskom
Imeničke konverzione tvorenice u nemačkom jeziku i njihovi ekvivalenti u srpskomImeničke konverzione tvorenice u nemačkom jeziku i njihovi ekvivalenti u srpskom
Imeničke konverzione tvorenice u nemačkom jeziku i njihovi ekvivalenti u srpskom
 
Conjugaison present espagnol
Conjugaison present espagnolConjugaison present espagnol
Conjugaison present espagnol
 
Compounding (Linguistics)
Compounding (Linguistics)Compounding (Linguistics)
Compounding (Linguistics)
 
Lexikografie und Wörterbuchbenutzungskompetenz: Eine Einführung für Germanist...
Lexikografie und Wörterbuchbenutzungskompetenz: Eine Einführung für Germanist...Lexikografie und Wörterbuchbenutzungskompetenz: Eine Einführung für Germanist...
Lexikografie und Wörterbuchbenutzungskompetenz: Eine Einführung für Germanist...
 
Comparing characteristics of old and middle english
Comparing characteristics of old and middle englishComparing characteristics of old and middle english
Comparing characteristics of old and middle english
 
Morphemes & Types of morphemes
Morphemes & Types of morphemesMorphemes & Types of morphemes
Morphemes & Types of morphemes
 
English reductions
English reductionsEnglish reductions
English reductions
 
Chapter no. 4
Chapter no. 4Chapter no. 4
Chapter no. 4
 

Destaque

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
 

Destaque (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++
 
Regular Expression
Regular ExpressionRegular Expression
Regular Expression
 
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
 

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/