SlideShare a Scribd company logo
1 of 64
Reguläre Ausdrücke & die PCRE- Bibliothek Dominik Siebel PHP Usergroup D / DU / KR Usergrouptreffen am 24.02.2010
Über mich Dominik Siebel  (25) ,[object Object]
PHP seit 2004
Webdeveloper TWT Interactive GmbH seit Juni 2008
Agenda ,[object Object]
Einstieg ,[object Object]
Metazeichen
Zeichenklassen
Quantoren
Einfache Beispiele ,[object Object],[object Object]
Subpattern
Assertions
Bedingte Ausdrücke ,[object Object],[object Object],[object Object]
Definition & Theorie In der Informatik ist ein  regulärer Ausdruck  (RegExp oder Regex) eine Zeichenkette, die der Beschreibung von  Mengen und Untermengen von Zeichenketten  mit Hilfe bestimmter  syntaktischer Regeln  dient.
Definition & Theorie ,[object Object]
Formale Grammatik vom Typ3 der Chomsky-Hierarchie
Zu jedem Regex existiert ein endlicher Automat
3 Operationen ,[object Object]
Verkettung (Grouping)
Wiederholung (Quantification)
Funktionsweise ,[object Object]
immer von links nach rechts
Alle Metazeichen / Zeichenklassen werden als einfaches Zeichen gewertet
„Dumm und gierig“
Bestehen aus Zeichen des zugrunde liegenden Alphabets und definierten  Metazeichen *
Struktur  Aufbau eines Reges
Struktur  Aufbau eines Reges ,[object Object]
Struktur  Aufbau eines Reges ,[object Object]
Muss im  Ausdruck  escaped werden
'(' oder ')' in PCRE:  ( [a-z]+ ) im
Struktur  Aufbau eines Reges ,[object Object]
Muss im Ausdruck escaped werden
'(' oder ')' in PCRE:  ( [a-z]+ )im ,[object Object]
Struktur  Aufbau eines Reges ,[object Object]
Muss im Ausdruck escaped werden
'(' oder ')' in PCRE:  ( [a-z]+ )im ,[object Object]
Modifier
Metazeichen ,[object Object]
^ Anfang
$ Ende
| Alternative
( … ) Subpattern
[ … ] Zeichenklassen
*  +  ?  { n,m } Quantoren
Aufheben der Meta- Eigenschaften ,[object Object]
Zeichenklassen  Abgrenzung ,[object Object]
[0-9] Zeichenauswahl ,[object Object]
Kontextsensitiv ,[object Object],[object Object]
Negierung durch Großschreibung:
Zeichenklassen  Beispiele ,[object Object]
[a-zA-Z0-9] alphanumerisches Zeichen
[^a-zA-Z0-9] alles außer einem alphanumerischen Zeichen ,[object Object],[object Object]
 Wortzeichen
 Whitespace  (Leerzeichen UND Steuerzeichen , , )
… und mehr: , , ,
Quantoren ,[object Object]
Können auf jeden beliebigen Ausdruck angewendet werden: ,[object Object]
Referenzen Subpattern / [a-z] + /
Quantoren  Typen ,[object Object]
+ vor. Ausdruck mindestens einmal  {1,}
* vor. Ausdruck beliebig oft  {0,}
{ min , max }   ,[object Object]
{, max } vor. Ausdruck maximal  max -mal
{ min ,} vor. Ausdruck mindestens  min -mal

More Related Content

What's hot

P6kontext2014
P6kontext2014P6kontext2014
P6kontext2014lichtkind
 
Funktionale Programmierung und mehr mit Scala
Funktionale Programmierung und mehr mit ScalaFunktionale Programmierung und mehr mit Scala
Funktionale Programmierung und mehr mit Scalathoherr
 
Von Automaten zu Programmen–Parsergeneratoren und Attributgrammatiken
Von Automaten zu Programmen–Parsergeneratoren und AttributgrammatikenVon Automaten zu Programmen–Parsergeneratoren und Attributgrammatiken
Von Automaten zu Programmen–Parsergeneratoren und AttributgrammatikenTim Furche
 
Gute zeilen, schlechte zeilen - Regeln für wartbare Software
Gute zeilen, schlechte zeilen - Regeln für wartbare SoftwareGute zeilen, schlechte zeilen - Regeln für wartbare Software
Gute zeilen, schlechte zeilen - Regeln für wartbare Softwaregedoplan
 

What's hot (6)

Pyparsing
PyparsingPyparsing
Pyparsing
 
P6kontext2014
P6kontext2014P6kontext2014
P6kontext2014
 
Funktionale Programmierung und mehr mit Scala
Funktionale Programmierung und mehr mit ScalaFunktionale Programmierung und mehr mit Scala
Funktionale Programmierung und mehr mit Scala
 
Von Automaten zu Programmen–Parsergeneratoren und Attributgrammatiken
Von Automaten zu Programmen–Parsergeneratoren und AttributgrammatikenVon Automaten zu Programmen–Parsergeneratoren und Attributgrammatiken
Von Automaten zu Programmen–Parsergeneratoren und Attributgrammatiken
 
Gute zeilen, schlechte zeilen - Regeln für wartbare Software
Gute zeilen, schlechte zeilen - Regeln für wartbare SoftwareGute zeilen, schlechte zeilen - Regeln für wartbare Software
Gute zeilen, schlechte zeilen - Regeln für wartbare Software
 
Web Entwicklung mit PHP - Teil 1
Web Entwicklung mit PHP - Teil 1Web Entwicklung mit PHP - Teil 1
Web Entwicklung mit PHP - Teil 1
 

Viewers also liked

Magazine 2010 - Du Lac et Du Parc Grand Resort di Riva del Garda
Magazine 2010 - Du Lac et Du Parc Grand Resort di Riva del GardaMagazine 2010 - Du Lac et Du Parc Grand Resort di Riva del Garda
Magazine 2010 - Du Lac et Du Parc Grand Resort di Riva del GardaAndrea
 
absatzplus Kugelschreiber
absatzplus Kugelschreiberabsatzplus Kugelschreiber
absatzplus Kugelschreiberkiliankl
 
From Amazon to Oracle Cloud Case Study
From Amazon to Oracle Cloud Case StudyFrom Amazon to Oracle Cloud Case Study
From Amazon to Oracle Cloud Case StudyPeter H. Reiser
 
수식만들기
수식만들기수식만들기
수식만들기dy8702
 
Fh wien optimierung ikt einsatz im tourismus 1 strategie
Fh wien optimierung ikt einsatz im tourismus 1 strategieFh wien optimierung ikt einsatz im tourismus 1 strategie
Fh wien optimierung ikt einsatz im tourismus 1 strategieMartin Schobert
 
Claus Hesseling: Twitter als Recherchetool
Claus Hesseling: Twitter als RecherchetoolClaus Hesseling: Twitter als Recherchetool
Claus Hesseling: Twitter als RecherchetoolLokalrundfunktage
 
Via 02 2015 martin suter
Via 02 2015 martin suterVia 02 2015 martin suter
Via 02 2015 martin suterGaston Haas
 
Pemerintah kab. bantaeng
Pemerintah kab. bantaengPemerintah kab. bantaeng
Pemerintah kab. bantaengsmpn05makassar
 
PROFACTOR Unternehmenspräsentation
PROFACTOR UnternehmenspräsentationPROFACTOR Unternehmenspräsentation
PROFACTOR UnternehmenspräsentationPROFACTOR Group
 
MICE Workshop am 03.09.2014 in Hamburg
MICE Workshop am 03.09.2014 in HamburgMICE Workshop am 03.09.2014 in Hamburg
MICE Workshop am 03.09.2014 in Hamburgmeetinireland
 

Viewers also liked (20)

Magazine 2010 - Du Lac et Du Parc Grand Resort di Riva del Garda
Magazine 2010 - Du Lac et Du Parc Grand Resort di Riva del GardaMagazine 2010 - Du Lac et Du Parc Grand Resort di Riva del Garda
Magazine 2010 - Du Lac et Du Parc Grand Resort di Riva del Garda
 
Oh2
Oh2Oh2
Oh2
 
absatzplus Kugelschreiber
absatzplus Kugelschreiberabsatzplus Kugelschreiber
absatzplus Kugelschreiber
 
US_7122556_B2-1
US_7122556_B2-1US_7122556_B2-1
US_7122556_B2-1
 
From Amazon to Oracle Cloud Case Study
From Amazon to Oracle Cloud Case StudyFrom Amazon to Oracle Cloud Case Study
From Amazon to Oracle Cloud Case Study
 
B2B-Portale erfolgreich nutzen
B2B-Portale erfolgreich nutzenB2B-Portale erfolgreich nutzen
B2B-Portale erfolgreich nutzen
 
N
NN
N
 
Colageno I Secuenciacion
Colageno I SecuenciacionColageno I Secuenciacion
Colageno I Secuenciacion
 
[7] Nu P 04 1
[7] Nu P 04 1[7] Nu P 04 1
[7] Nu P 04 1
 
Effizient und nachhaltig twittern - Vortrag auf der stART.09
Effizient und nachhaltig twittern - Vortrag auf der stART.09Effizient und nachhaltig twittern - Vortrag auf der stART.09
Effizient und nachhaltig twittern - Vortrag auf der stART.09
 
수식만들기
수식만들기수식만들기
수식만들기
 
Fh wien optimierung ikt einsatz im tourismus 1 strategie
Fh wien optimierung ikt einsatz im tourismus 1 strategieFh wien optimierung ikt einsatz im tourismus 1 strategie
Fh wien optimierung ikt einsatz im tourismus 1 strategie
 
Dirk Spannaus
Dirk SpannausDirk Spannaus
Dirk Spannaus
 
Dialnet
DialnetDialnet
Dialnet
 
Claus Hesseling: Twitter als Recherchetool
Claus Hesseling: Twitter als RecherchetoolClaus Hesseling: Twitter als Recherchetool
Claus Hesseling: Twitter als Recherchetool
 
Dominik harsch
Dominik harschDominik harsch
Dominik harsch
 
Via 02 2015 martin suter
Via 02 2015 martin suterVia 02 2015 martin suter
Via 02 2015 martin suter
 
Pemerintah kab. bantaeng
Pemerintah kab. bantaengPemerintah kab. bantaeng
Pemerintah kab. bantaeng
 
PROFACTOR Unternehmenspräsentation
PROFACTOR UnternehmenspräsentationPROFACTOR Unternehmenspräsentation
PROFACTOR Unternehmenspräsentation
 
MICE Workshop am 03.09.2014 in Hamburg
MICE Workshop am 03.09.2014 in HamburgMICE Workshop am 03.09.2014 in Hamburg
MICE Workshop am 03.09.2014 in Hamburg
 

Similar to Reguläre Ausdrucke (PCRE)

Tech Talk: Groovy
Tech Talk: GroovyTech Talk: Groovy
Tech Talk: Groovymwie
 
Perl 6 Regex und Grammars
Perl 6 Regex und GrammarsPerl 6 Regex und Grammars
Perl 6 Regex und Grammarslichtkind
 
02.EinfacheProgramme und grundsymbole von
02.EinfacheProgramme und grundsymbole von02.EinfacheProgramme und grundsymbole von
02.EinfacheProgramme und grundsymbole vonFlorianHorner
 
FMK2015: Reguläre Ausdrücke by Arnold Kegebein
FMK2015: Reguläre Ausdrücke by Arnold KegebeinFMK2015: Reguläre Ausdrücke by Arnold Kegebein
FMK2015: Reguläre Ausdrücke by Arnold KegebeinVerein FM Konferenz
 
7 - Sprachen Des Semantic Web - SPARQL
7 - Sprachen Des Semantic Web - SPARQL7 - Sprachen Des Semantic Web - SPARQL
7 - Sprachen Des Semantic Web - SPARQLSteffen Schloenvoigt
 
Perl 5 Quiz Chemnitz Edition
Perl 5 Quiz Chemnitz EditionPerl 5 Quiz Chemnitz Edition
Perl 5 Quiz Chemnitz Editionlichtkind
 
Abap 7.02 new features - neue stringfunktionen
Abap 7.02   new features - neue stringfunktionenAbap 7.02   new features - neue stringfunktionen
Abap 7.02 new features - neue stringfunktionenCadaxo GmbH
 

Similar to Reguläre Ausdrucke (PCRE) (12)

Tech Talk: Groovy
Tech Talk: GroovyTech Talk: Groovy
Tech Talk: Groovy
 
Perl 6 Regex und Grammars
Perl 6 Regex und GrammarsPerl 6 Regex und Grammars
Perl 6 Regex und Grammars
 
02.EinfacheProgramme und grundsymbole von
02.EinfacheProgramme und grundsymbole von02.EinfacheProgramme und grundsymbole von
02.EinfacheProgramme und grundsymbole von
 
FMK2015: Reguläre Ausdrücke by Arnold Kegebein
FMK2015: Reguläre Ausdrücke by Arnold KegebeinFMK2015: Reguläre Ausdrücke by Arnold Kegebein
FMK2015: Reguläre Ausdrücke by Arnold Kegebein
 
7 - Sprachen Des Semantic Web - SPARQL
7 - Sprachen Des Semantic Web - SPARQL7 - Sprachen Des Semantic Web - SPARQL
7 - Sprachen Des Semantic Web - SPARQL
 
Php Schulung
Php SchulungPhp Schulung
Php Schulung
 
PHP: foreach
PHP: foreachPHP: foreach
PHP: foreach
 
Perl 5 Quiz Chemnitz Edition
Perl 5 Quiz Chemnitz EditionPerl 5 Quiz Chemnitz Edition
Perl 5 Quiz Chemnitz Edition
 
Messen mit LabVIEW- Block 3
Messen mit LabVIEW- Block 3Messen mit LabVIEW- Block 3
Messen mit LabVIEW- Block 3
 
Einführung in RegEx
Einführung in RegExEinführung in RegEx
Einführung in RegEx
 
Kurzreferenz html
Kurzreferenz htmlKurzreferenz html
Kurzreferenz html
 
Abap 7.02 new features - neue stringfunktionen
Abap 7.02   new features - neue stringfunktionenAbap 7.02   new features - neue stringfunktionen
Abap 7.02 new features - neue stringfunktionen
 

Reguläre Ausdrucke (PCRE)

Editor's Notes

  1. Chomsky-Hierarchie: - Begriff aus der Theoretischen Informatik - 4 Grammatiktypen (0 bis 3) - Typ einer Grammatik beschreibt die Mindestanforderung um eine eine bestimme formale Sprache zu erzeugen * 3.1 Typ-0-Grammatik (allgemeine Chomsky-Grammatik oder Phrasenstrukturgrammatik) * 3.2 Typ-1-Grammatik (kontextsensitive bzw. monotone Grammatik) * 3.3 Typ-2-Grammatik (kontextfreie Grammatik) * 3.4 Typ-3-Grammatik (rechtslineare bzw. linkslineare Grammatik) Endlicher Automat: - Verhaltensmodell - bestehend aus Zuständen, Zustandsübergängen und Aktionen - endlich wenn die Menge der Zustände die er einnehmen kann endlich ist - 4 Aktionen (Eingangsaktion, Ausgangsaktion, Eingabeaktion, Übergabeaktion) - Visualisierung mittels Zustandsübergangsdiagramm