SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Reguläre Ausdrücke
Dipl.-Ing. (FH) Arnold Kegebein
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Zur Person
Dipl.-Ing. (FH) Arnold Kegebein
Studium der Technischen Informatik
Mehrere Jahre als IT-Leiter in Chicago, IL (USA)
Über 30 Jahre Erfahrung mit Datenbanksystemen
dBase, Oracle, MySql, MS Access, FileMaker, …
Seit 2007 Entwickler von FileMaker Lösungen
Autor des FileMaker Magazins
Referent auf FileMaker Konferenzen
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Zum Vortrag
Theorie
•Was sind Reguläre Ausdrücke?
•Wofür können Reguläre Ausdrücke verwendet werden?
•Einführung in die Syntax und Semantik

Praxis
•Beispiele und Übungen

Sonstiges
•Reguläre Ausdrücke in FileMaker verwenden
•Plugins für Reguläre Ausdrücke
•Hilfreiches, weiterführendes Material
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Theorie
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Was sind Reguläre Ausdrücke?
„ Ein regulärer Ausdruck (englisch: regular expression, Abkürzung RegExp
oder Regex) ist […] eine Zeichenkette, die der Beschreibung von Mengen von
Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient. […]
Ein einfacher Anwendungsfall von regulären Ausdrücken sind Wildcards.
Reguläre Ausdrücke können als Filterkriterien in der Textsuche verwendet werden,
indem der Text mit dem Muster des regulären Ausdrucks abgeglichen wird. Dieser
Vorgang wird auch Pattern Matching genannt.“
Wikipedia – https://de.wikipedia.org/wiki/Regulärer_Ausdruck

Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Was sind Reguläre Ausdrücke? (2)
• Reguläre Ausdrücke beschreiben eine Familie von formalen Sprachen
(reguläre Sprachen)
• Die regulären Sprachen verwenden eine bestimmte Syntax und Semantik
• Die meisten Programmiersprachen verwenden Perl Compatible Regular
Expressions (PCRE)
• Gilt auch für FileMaker Plugins (RegEx-Plugin, MBS-Plugin)
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Wofür können sie verwendet werden?
• Schnelle Mustersuche in Texten
• Suchen ähnlicher Wörter (Meier, Mayer, Meyer, Mair, …)
• Suchen und Ersetzen
• Validierung von Feldinhalten
• Zum Beispiel Überprüfung von E-Mailadressen
• Bereinigen von Texten
• Zum Beispiel Entfernen von doppelten Leerzeichen
• …
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Syntax
Die Syntax definiert, wie reguläre Ausdrücke aussehen

• Die leere Menge ist ein regulärer Ausdruck
• Jedes Zeichen aus dem Alphabet ist ein regulärer Ausdruck
• Reguläre Ausdrücke basieren auf drei Operationen:
• (x|y) Alternative
• (xy) Verkettung
• (x*) Wiederholung
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Semantik
Die Semantik beschreibt die formale Bedeutung der Syntax regulärer Ausdrücke
• Metazeichen
• Escapezeichen
• Zeichenklassen
• Quantifizieren
• Anker
• Gruppen
• Ersetzungen
• Flags
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Metazeichen
[ ] ( ) { } | ? + - * ^ $  .
• Wenn nach diesen Zeichen gesucht wird, müssen sie „escaped“ werden
• Einige Zeichen haben haben mehrfache Bedeutungen (kontextabhängig)
• zum Beispiel ? oder ^
[A-Z].*?(?=ungb)
^[^aeiou]w+
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Escapezeichen
 (Backslash) Hebt die besondere Bedeutung des nachfolgenden Metazeichens

auf bzw. gibt dem nachfolgenden Zeichen eine besondere Bedeutung
Zum Beispiel:

 → „“ (Backslash)

* → „*“ (Asterisk)

d → eine Ziffer (0…9)

t → „ “ (Tabulator)
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Zeichenklassen
[ ] Zeichenklassendefinition; Auswahl genau eines Zeichens

[abc] → Entweder ein „a“ oder „b“ oder „c“
Einige Metazeichen haben in der Zeichenklassendefinition besondere Bedeutung:
^ Ein einführendes Zirkumflex invertiert die Zeichenklassendefinition

[^abc] → Ein beliebiges Zeichen, aber kein „a“, „b“ oder „c“

[a^b] → Ein „a“, „b“ oder „^“
- Ein Bindestrich zwischen zwei Zeichen beschreibt einen Bereich

[a-e] → Entspricht [abcde]

[ae-] → Entweder ein „a“, „e“ oder „-“
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Zeichenklassen (2)
. (Punkt) Ein beliebiges Zeichen außer Zeilenumbruch; entspricht [^nr]
d (Ziffer) Ein Ziffer, also [0-9]; einschließlich weiterer Zahlzeichen in Unicode 

(nicht-arabische Ziffern)
D (keine Ziffer) Ein Zeichen, das keine Ziffer ist; entspricht [^d]
w (Wortzeichen) Ein Buchstabe, eine Ziffer oder der Unterstrich; einschließlich 

nicht-lateinische Buchstaben, z. B. Umlaute
W (kein Wortzeichen) Ein Zeichen, das weder Buchstabe noch Ziffer noch

Unterstrich ist; entspricht [^w]
s (Whitespace) Ein Leerzeichen oder anderes Leerraumzeichen: 

f Seitenvorschub, n Zeilenvorschub, r Wagenrücklauf, t Tabulator, 

v Vertikaler Tabulator
S (kein Whitespace) Ein Zeichen, das kein Whitespace ist; entspricht [^s]
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Qualifizierer
Ein Qualifizierer bezieht sich immer auf das vorangestellte Token
Qualifizierer sind in der Voreinstellung gierig (greedy) und versuchen so viele Zeichen
wie möglich mit dem Suchmuster abzugleichen
+ Findet ein oder mehrere Auftreten des vorangestellten Tokens

Aw+ → Findet alle Wörter, die mit einem großen „A“ beginnen, aber nicht

das „A“ als Einzelbuchstaben
* Findet kein, ein oder mehrere Auftreten des vorangestellten Tokens

Aw* → Wie oben, aber jetzt wird auch das „A“ als Einzelbuchstabe gefunden
? Findet kein oder ein Auftreten des vorangestellten Tokens

colou?r → Findet „color“ und „colour“
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Qualifizierer (2)
{4} Findet genau vier Auftreten des vorangestellten Tokens
{2,4} Findet zwei, drei oder vier Auftreten des vorangestellten Tokens

{0,1}→ Entspricht ?
{2,} Findet zwei oder mehr Auftreten des vorangestellten Tokens

{1,} → Entspricht +

{0,} → Entspricht *
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Trägheit
? Ein Fragezeichen macht den vorangestellten Qualifizierer träge (lazy) und 

es werden so wenig Auftreten wie möglich gefunden
Aw*? → Findet nur den Buchstaben „A“, unabhängig davon, ob noch

weitere Buchstaben folgen
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Auswahl
| Der senkrechte Strich (Pipe) agiert wie ein logisches ODER

Es wird der Ausdruck vor oder hinter der Pipe gesucht
rot|blau → Findet „rot“ oder „blau“
M(ai|ay|ei|ey)er → Findet verschiedene Auftreten des Nachnamens
M(a|e)(i|y)er → Kürzere Form des vorherigen Beispiels
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Anker
Ein Anker finden eine Position, jedoch kein Zeichen
^ Anfang eines Textes; findet den Textanfang bzw. den Anfang jeder Zeile, 

wenn das Mehrzeilen-Flag m gesetzt ist

^w+ → Findet das erste Wort in einem Text
$ Ende eines Textes; findet das Textende bzw. das Ende jeder Zeile, 

wenn das Mehrzeilen-Flag m gesetzt ist

w+$ → Findet das letzte Wort in einem Text
b Wortgrenze; findet den Anfang oder das Ende eines Wortes

bs → Findet das „s“ am Anfang eines Wortes
B Nichtwortgrenze; Gegenteil von b

Bs → Findet das „s“ innerhalb eines Wortes
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Gruppen
( ) Gruppe; fasst Teilausdrücke als neues Token zusammen

(ha)+ → Findet ein oder mehrere zusammenhängende „ha“
1 Referenz; verweist auf die erste Gruppe

b(w)(w)21b → Findet Palindrome mit vier Buchstaben

Beispiel: „anna“, „otto“
(?:abc) Unterdrücken; die Gruppe wird zwar gesucht, aber nicht erfasst, kann also
nicht referenziert werden
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Voraus- und Rückschau
(?=abc) Positive Vorausschau; sucht eine Gruppe, die nach dem Hauptausdruck

vorhanden sein muss, aber im Ergebnis nicht ausgegeben wird

d+(?=px) → Findet numerische Pixelwerte
(?!abc) Negative Vorausschau; gibt eine Gruppe an, die nicht nach dem 

Hauptausdruck auftauchen darf

d+(?!px)b → Findet num. Angaben, deren Einheit nicht „px“ ist
(?<=abc) Positive Rückschau; sucht eine Gruppe, die vor dem Hauptausdruck 

vorhanden sein muss, aber im Ergebnis nicht ausgegeben wird

(?<=-)d+ → Findet negative Zahlen, ohne das Minus auszugeben
(?<!abc) Negative Rückschau; gibt eine Gruppe an, die nicht vor dem Haupt-

ausdruck auftauchen darf

(?<!-)bd+ → Findet nur positive Zahlen
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Ersetzungen
$& Gefundener Text
$1 Gefundene Teilgruppe; $3 entspricht der 3. Gruppe
$` Text vor dem gefundenen Text
$’ Text nach dem gefundenen Text
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Flags
Flags bestimmen, wie die Ausdrücke interpretiert werden
i Ignore Case - Groß-/Kleinschreibung ignorieren
g Global - Globale Suche; führt eine mehrfache Suche durch, wobei die Suche 

jeweils hinter dem letzten Suchergebnis fortgesetzt wird
m Multiline - Mehrzeiliger Text; die Start- und Endeanker (^ und $) entsprechen

nun dem Anfang und Ende jeder Zeile, statt des gesamten Texts
s Single-line - Ein Dot (.) findet auch Zeilenumbrüche
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Praxis
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
E-Mailadresse validieren
RFC-Standard als RegEx umgesetzt:
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}
~-]+)*|"(?:[x01-x08x0bx0cx0e-x1fx21x23-x5bx5d-
x7f]|[x01-x09x0bx0cx0e-x7f])*")@(?:(?:[a-z0-9](?:
[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|
[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:
25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:
[x01-x08x0bx0cx0e-x1fx21-x5ax53-x7f]|[x01-
x09x0bx0cx0e-x7f])+)])
Korrekt, aber nicht empfehlenswert
Kürzerer Regulärer Ausdruck; findet viele, aber nicht alle E-Mailadressen:
b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
E-Mailadresse validieren (detailiert)
Wortgrenze
Buchstabe, Ziffer
oder ein Zeichen
Wortgrenze
min. 1x
das @-Zeichen Buchstabe, Ziffer,
Punkt oder Minus min. 1x
der Punkt zwei bis vier Buchstaben
• Flag i (ignore case) muss aktiviert sein
• Erkennt die meisten E-Mailadressen: arnold@kegebein.net
• Falsches Positiv: ak..@..de
b[A-Z0-9._%+-]+@[A-Z0-9.-]+
.[A-Z]{2,4}b
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Zahlen finden
• Positive Ganzzahl

• Positive und negative Zahlen

• auch Zahlen mit Nachkommastellen

• Zahlen mit Tausender-Trennzeichen

d+
-?d+
-?d*(,d+)?
([1-9]d{0,2}.(d{3}.)*)d+
[+-]?d+
(Tages- und Monatszahlen).(d{2}){1,2}
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Datum finden
• Datumsformat TT.MM.JJJJ: 14.02.2015, 01.01.2016
• Auch ohne führende Nullen und nur kurzer Jahreszahl: 1.1.16
Besondere Herausforderung
• Tages- und Monatszahlen validieren (ohne Schaltjahrprüfung)
dd.dd.d{4}
d{1,2}.d{1,2}.(d{2}){1,2}
(d{1,2}.?){4} Findet auch falsche Positive (1.23.456)
(

Monate mit 30 Tagen|

Monate mit 31 Tagen|

Februar mit 29 Tagen
).(d{2}){1,2}
(

((0?[1-9]|[12]d)|30).(0?[469]|11)|

Monate mit 31 Tagen|

Februar mit 29 Tagen
).(d{2}){1,2}
(

((0?[1-9]|[12]d)|30).(0?[469]|11)|

((0?[1-9]|[12]d)|30|31).(0?[13578]|10|12)|
Februar mit 29 Tagen
).(d{2}){1,2}
(

((0?[1-9]|[12]d)|30).(0?[469]|11)|

((0?[1-9]|[12]d)|30|31).(0?[13578]|10|12)|
((0?[1-9]|[12]d)).0?2
).(d{2}){1,2}
(

((0?[1-9]|[12]d)|30).(0?[469]|11)|

((0?[1-9]|[12]d)|30|31).(0?[13578]|10|12)|
((0?[1-9]|[12]d)).0?2
).(d{2}){1,2} Zeilenumbrüche nur zur Verdeutlichung eingebaut
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Textbeispiele
Auf den sieben Robbenklippen sitzen sieben Robbensippen, 

die sich in die Rippen stippen, bis sie von den Klippen kippen.
Finde:
• Großbuchstaben
• Großgeschriebene Wörter
• Buchstabendoppel
• Wörter mit Buchstabendoppel
• Wörter, die mehrfach vorkommen
• Wörter, mit zwei Vokale hintereinander
• Wörter mit mindest. drei Vokalen
[A-Z]
[A-Z][a-z]*
(w)1
w*?(w)1w*
(bw+b)(?=.*(1))
b[A-Z]w*
w*[aeiou]{2}w*
w*?([aeiou][^aeiouW]*){3,}
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Reguläre Ausdrücke in FileMaker
Verschiedene Aufgaben lassen sich mit regulären Ausdrücken ausführen:
• Prüfen, ob ein Text einem RegEx-Muster entspricht
• Eingabe einer IBAN oder numerischen IP-Adresse
• Parsen von Texten
• Text nach E-Mailadressen oder Datumsangaben durchsuchen
• Postanschrift in Einzelkomponenten zerlegen
• Daten filtern, bereinigen oder normalisieren
• Telefonnummern (Leerzeichen und andere Zeichen entfernen)
• Tags aus HTML-Text entfernen
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Sonstiges
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Reguläre Ausdrücke in FileMaker
• RegEx-Plugin von Dr. Jens Teich
http://jensteich.de/filemaker/filemaker-plugins/regex-plugin/
• kostenlos
• einfache Anwendung

• MBS-Plugin von Christian Schmitz
http://www.monkeybreadsoftware.de/filemaker/
• basiert auf der C Library
• komplizierter
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
RegEx-Plugin
RegP_Scan ( regex; text {; flags} )
• Prüft, ob der reguläre Ausdruck im Text vorkommt
RegP_GetText ( regex; text {; flags; register} )
• Ermittelt die erste entsprechende Textpassage
Beispiel: RegP_GetText ( "M(a|e)(i|y)er"; $Text )
RegP_GetTextAll ( regex ; text {; separationstring ; flags; register} )
• Ermittelt alle entsprechenden Textpassagen
RegP_Positions ( regex ; text {; flags ; pairInnerDelimiter ; pairOuterDelimiter } )
• Gibt die Positionen der Gruppen des Ausdrucks zurück
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
RegEx-Plugin (2)
Aufruf zum Beispiel im Scriptbefehl Variable setzen oder über all da, 

wo eine Formel verwendet wird.
Beispiel: Stärke eines Passwortes überprüfen
Wenn [ Nicht( RegEx_Scan( "[0-9]"; DB::Passwort ) 

Und RegEx_Scan( "[A-Z]"; DB::Passwort ) 

Und RegEx_Scan( "[a-z]"; DB::Passwort ) 

Und RegEx_Scan( "w"; DB::Passwort ) ) ]
…
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
MBS-Plugin
MBS( "RegEx.Match"; regex; text {; flags} )
• Prüft, ob der reguläre Ausdruck im Text vorkommt

MBS( "RegEx.MatchList"; regex; list {; flags} )

MBS( "List.RegExMatch"; list; regex {; flags} )
• Gibt alle Listenelemente zurück, in denen der Ausdruck gefunden wird

MBS( "RegEx.FindMatches"; regexRef; text {; options {; returnWholeMatch} )
• Ermittelt alle entsprechenden Textpassagen
• Muss mit RegEx.Compile und RegEx.Free aufgerufen werden
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
MBS-Plugin (2)
Eine Eigene Funktion kann die Einzelbefehle zusammenfassen:
CF_RegEx ( _text; _regex; _flags )
SetzeVar( [

RE = MBS( "RegEx.Compile"; _regex; _flags );

Ergebnis = MBS( "RegEx.FindMatches"; RE; _text; 0; 1 );

~ = MBS( "RegEx.Free"; RE )

];

~result

)
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Hilfreiches Material
Internet
• http://regexr.com - Test-Editor, Referenz, Beispiele
• http://regexpal.com - Test-Editor, Referenz
• http://www.regular-expressions.info - Tutorial, Referenz, Beispiele

Software
• RegExRX von MacTechnologies Consulting (Mac + Win, Shareware)

http://www.mactechnologies.com/index.php?page=downloads

Bücher
• Diverse Bücher aus dem O’Reilly Verlag
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Fragen & Antworten
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Fragen & Antworten
• Jetzt
• Während der Konferenzpausen
• Per E-Mail: arnold@kegebein.net
Dipl.-Ing. (FH) Arnold Kegebein
Reguläre Ausdrücke – Workshop
FileMaker Konferenz 2015 Hamburg
www.filemaker-konferenz.com
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages

Contenu connexe

Tendances

Context Free Grammar
Context Free GrammarContext Free Grammar
Context Free GrammarAkhil Kaushik
 
NLP_KASHK:Finite-State Morphological Parsing
NLP_KASHK:Finite-State Morphological ParsingNLP_KASHK:Finite-State Morphological Parsing
NLP_KASHK:Finite-State Morphological ParsingHemantha Kulathilake
 
Python Style Guide
Python Style GuidePython Style Guide
Python Style GuideJiayun Zhou
 
Algorithms, flow charts and pseudocodes
Algorithms, flow charts and pseudocodesAlgorithms, flow charts and pseudocodes
Algorithms, flow charts and pseudocodesSatveer Mann
 
Chapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata TheoryChapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata TheoryTsegazeab Asgedom
 
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
 
Data structure lab manual
Data structure lab manualData structure lab manual
Data structure lab manualnikshaikh786
 
Context free grammars
Context free grammarsContext free grammars
Context free grammarsShiraz316
 
Intermediate code generator
Intermediate code generatorIntermediate code generator
Intermediate code generatorsanchi29
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?Sameh El-Ashry
 
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2Dimitris Psounis
 
Alphabets , strings, languages and grammars
Alphabets , strings, languages  and grammarsAlphabets , strings, languages  and grammars
Alphabets , strings, languages and grammarshele987
 
lect5_Stick_diagram_layout_rules
lect5_Stick_diagram_layout_ruleslect5_Stick_diagram_layout_rules
lect5_Stick_diagram_layout_rulesvein
 

Tendances (20)

Context Free Grammar
Context Free GrammarContext Free Grammar
Context Free Grammar
 
Python strings
Python stringsPython strings
Python strings
 
NLP_KASHK:Finite-State Morphological Parsing
NLP_KASHK:Finite-State Morphological ParsingNLP_KASHK:Finite-State Morphological Parsing
NLP_KASHK:Finite-State Morphological Parsing
 
Python Style Guide
Python Style GuidePython Style Guide
Python Style Guide
 
1 puc programming using c++
1 puc programming using c++1 puc programming using c++
1 puc programming using c++
 
Pointers
PointersPointers
Pointers
 
Algorithms, flow charts and pseudocodes
Algorithms, flow charts and pseudocodesAlgorithms, flow charts and pseudocodes
Algorithms, flow charts and pseudocodes
 
Dynamic Semantics
Dynamic SemanticsDynamic Semantics
Dynamic Semantics
 
Chapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata TheoryChapter1 Formal Language and Automata Theory
Chapter1 Formal Language and Automata Theory
 
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++
 
Data structure lab manual
Data structure lab manualData structure lab manual
Data structure lab manual
 
Cfg part ii
Cfg   part iiCfg   part ii
Cfg part ii
 
Context free grammars
Context free grammarsContext free grammars
Context free grammars
 
Intermediate code generator
Intermediate code generatorIntermediate code generator
Intermediate code generator
 
How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?How to create SystemVerilog verification environment?
How to create SystemVerilog verification environment?
 
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ20 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
 
User defined functions
User defined functionsUser defined functions
User defined functions
 
Context free grammar
Context free grammarContext free grammar
Context free grammar
 
Alphabets , strings, languages and grammars
Alphabets , strings, languages  and grammarsAlphabets , strings, languages  and grammars
Alphabets , strings, languages and grammars
 
lect5_Stick_diagram_layout_rules
lect5_Stick_diagram_layout_ruleslect5_Stick_diagram_layout_rules
lect5_Stick_diagram_layout_rules
 

En vedette

Was ist meine identität in Christus? - What is my identity in Christ?
Was ist meine identität in Christus? - What is my identity in Christ?Was ist meine identität in Christus? - What is my identity in Christ?
Was ist meine identität in Christus? - What is my identity in Christ?Freekidstories
 
FMK2015: Virtuelle Tabellen by Arnold Kegebein
FMK2015: Virtuelle Tabellen by Arnold KegebeinFMK2015: Virtuelle Tabellen by Arnold Kegebein
FMK2015: Virtuelle Tabellen by Arnold KegebeinVerein FM Konferenz
 
FMK2016 - Marcel Moré - The Power of SVG
FMK2016 - Marcel Moré - The Power of SVGFMK2016 - Marcel Moré - The Power of SVG
FMK2016 - Marcel Moré - The Power of SVGVerein FM Konferenz
 
Tema 3 alimentacion y digestion
Tema 3 alimentacion y digestionTema 3 alimentacion y digestion
Tema 3 alimentacion y digestionirenitabernal
 
Aulas virtuales y correo institucional
Aulas virtuales y correo institucionalAulas virtuales y correo institucional
Aulas virtuales y correo institucional23MARCELA
 
Informática, tecnología y animación
Informática, tecnología y animaciónInformática, tecnología y animación
Informática, tecnología y animaciónMelissaBarrios95
 
TRABAJO DE POWER POINT
TRABAJO DE POWER POINTTRABAJO DE POWER POINT
TRABAJO DE POWER POINTirsovar11
 
Taller de las herramientas
Taller de las herramientasTaller de las herramientas
Taller de las herramientasAna Salazar
 
Gerencia de proyectos y ciclo de vida de un proyecto
Gerencia de proyectos y ciclo de vida de un proyectoGerencia de proyectos y ciclo de vida de un proyecto
Gerencia de proyectos y ciclo de vida de un proyectoGerardo Simales
 
las placas tectonicas corvengentes
las placas tectonicas corvengenteslas placas tectonicas corvengentes
las placas tectonicas corvengentesalejandrojav
 
Erforschung von Social Media - wissenschaftliche Erkenntnisse
Erforschung von Social Media - wissenschaftliche ErkenntnisseErforschung von Social Media - wissenschaftliche Erkenntnisse
Erforschung von Social Media - wissenschaftliche ErkenntnisseProf. Dr. Marco Hardiman
 
Freizeit in Białystok
Freizeit in BiałystokFreizeit in Białystok
Freizeit in BiałystokKABO1000
 
FMK2014: FileMaker Plugin erzeugen by Christian Schmitz
FMK2014: FileMaker Plugin erzeugen by Christian SchmitzFMK2014: FileMaker Plugin erzeugen by Christian Schmitz
FMK2014: FileMaker Plugin erzeugen by Christian SchmitzVerein FM Konferenz
 

En vedette (20)

Surfersident
SurfersidentSurfersident
Surfersident
 
Was ist meine identität in Christus? - What is my identity in Christ?
Was ist meine identität in Christus? - What is my identity in Christ?Was ist meine identität in Christus? - What is my identity in Christ?
Was ist meine identität in Christus? - What is my identity in Christ?
 
FMK2015: Virtuelle Tabellen by Arnold Kegebein
FMK2015: Virtuelle Tabellen by Arnold KegebeinFMK2015: Virtuelle Tabellen by Arnold Kegebein
FMK2015: Virtuelle Tabellen by Arnold Kegebein
 
FMK2016 - Marcel Moré - The Power of SVG
FMK2016 - Marcel Moré - The Power of SVGFMK2016 - Marcel Moré - The Power of SVG
FMK2016 - Marcel Moré - The Power of SVG
 
Tema 3 alimentacion y digestion
Tema 3 alimentacion y digestionTema 3 alimentacion y digestion
Tema 3 alimentacion y digestion
 
Fake
FakeFake
Fake
 
El párrafo
El párrafoEl párrafo
El párrafo
 
Aulas virtuales y correo institucional
Aulas virtuales y correo institucionalAulas virtuales y correo institucional
Aulas virtuales y correo institucional
 
Metodo ipler
Metodo iplerMetodo ipler
Metodo ipler
 
Cómo comprar
Cómo comprarCómo comprar
Cómo comprar
 
Informática, tecnología y animación
Informática, tecnología y animaciónInformática, tecnología y animación
Informática, tecnología y animación
 
TRABAJO DE POWER POINT
TRABAJO DE POWER POINTTRABAJO DE POWER POINT
TRABAJO DE POWER POINT
 
El amor
El amorEl amor
El amor
 
Taller de las herramientas
Taller de las herramientasTaller de las herramientas
Taller de las herramientas
 
Gerencia de proyectos y ciclo de vida de un proyecto
Gerencia de proyectos y ciclo de vida de un proyectoGerencia de proyectos y ciclo de vida de un proyecto
Gerencia de proyectos y ciclo de vida de un proyecto
 
las placas tectonicas corvengentes
las placas tectonicas corvengenteslas placas tectonicas corvengentes
las placas tectonicas corvengentes
 
El sistema circulatorio
El sistema circulatorioEl sistema circulatorio
El sistema circulatorio
 
Erforschung von Social Media - wissenschaftliche Erkenntnisse
Erforschung von Social Media - wissenschaftliche ErkenntnisseErforschung von Social Media - wissenschaftliche Erkenntnisse
Erforschung von Social Media - wissenschaftliche Erkenntnisse
 
Freizeit in Białystok
Freizeit in BiałystokFreizeit in Białystok
Freizeit in Białystok
 
FMK2014: FileMaker Plugin erzeugen by Christian Schmitz
FMK2014: FileMaker Plugin erzeugen by Christian SchmitzFMK2014: FileMaker Plugin erzeugen by Christian Schmitz
FMK2014: FileMaker Plugin erzeugen by Christian Schmitz
 

Plus de Verein FM Konferenz

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfVerein FM Konferenz
 
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsVerein FM Konferenz
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsVerein FM Konferenz
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzVerein FM Konferenz
 
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzFMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzVerein FM Konferenz
 
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzFMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzVerein FM Konferenz
 
FMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingFMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingVerein FM Konferenz
 
FMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinFMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinVerein FM Konferenz
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserVerein FM Konferenz
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtVerein FM Konferenz
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtVerein FM Konferenz
 
FMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonFMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonVerein FM Konferenz
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussVerein FM Konferenz
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussVerein FM Konferenz
 
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfFMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfVerein FM Konferenz
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonVerein FM Konferenz
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoVerein FM Konferenz
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaVerein FM Konferenz
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaVerein FM Konferenz
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairVerein FM Konferenz
 

Plus de Verein FM Konferenz (20)

FMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdfFMK2022 Excel und FileMaker Schittko.pdf
FMK2022 Excel und FileMaker Schittko.pdf
 
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp PulsFMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
FMK2022 Drucken über Dateigrenzen hinweg von Philipp Puls
 
FMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp PulsFMK2022 Custom Functions von Philipp Puls
FMK2022 Custom Functions von Philipp Puls
 
FMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin SchwarzFMK2022 FileMaker Fehler von Martin Schwarz
FMK2022 FileMaker Fehler von Martin Schwarz
 
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard SchulzFMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
FMK2022 FileMaker Server unter Linux Workshop von Bernhard Schulz
 
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard SchulzFMK2022 FileMaker DataAPI und Java von Bernhard Schulz
FMK2022 FileMaker DataAPI und Java von Bernhard Schulz
 
FMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam AugustingFMK2022 Neue Programmiertechniken von Adam Augusting
FMK2022 Neue Programmiertechniken von Adam Augusting
 
FMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam AugustinFMK2022 FileMaker und Javascript von Adam Augustin
FMK2022 FileMaker und Javascript von Adam Augustin
 
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert KaiserFMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
FMK2022 Arbeiten mit SVG in FileMaker - Robert Kaiser
 
FMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas HirtFMK2022 Dokumentation - Thomas Hirt
FMK2022 Dokumentation - Thomas Hirt
 
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas HirtFMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
FMK2022 CustomFunctions Fuer Einsteiger - Thomas Hirt
 
FMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell WatsonFMK2022 FileMaker Integrated Development Environment - Russell Watson
FMK2022 FileMaker Integrated Development Environment - Russell Watson
 
FMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph KlussFMK2022 Datenschutz DSGVO Christoph Kluss
FMK2022 Datenschutz DSGVO Christoph Kluss
 
FMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph KlussFMK2022 Rechnungen Inkasso - Christoph Kluss
FMK2022 Rechnungen Inkasso - Christoph Kluss
 
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdfFMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
FMK2022 Die Zukunft von FileMaker - Marcel Moré.pdf
 
FMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell WatsonFMK2019 bug off lightning talk by Russell Watson
FMK2019 bug off lightning talk by Russell Watson
 
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menannoFMK2019 being an optimist in a pessimistic world by vincenzo menanno
FMK2019 being an optimist in a pessimistic world by vincenzo menanno
 
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza KoudelkaFMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
FMK2019 FileMaker Performance Update 2019 by HOnza Koudelka
 
FMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza KoudelkaFMK2019 Hardware Integrated by HOnza Koudelka
FMK2019 Hardware Integrated by HOnza Koudelka
 
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald MairFmk2019 Produktentwicklung mit FileMaker by Harald Mair
Fmk2019 Produktentwicklung mit FileMaker by Harald Mair
 

FMK2015: Reguläre Ausdrücke by Arnold Kegebein

  • 1. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Reguläre Ausdrücke Dipl.-Ing. (FH) Arnold Kegebein
  • 2. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Zur Person Dipl.-Ing. (FH) Arnold Kegebein Studium der Technischen Informatik Mehrere Jahre als IT-Leiter in Chicago, IL (USA) Über 30 Jahre Erfahrung mit Datenbanksystemen dBase, Oracle, MySql, MS Access, FileMaker, … Seit 2007 Entwickler von FileMaker Lösungen Autor des FileMaker Magazins Referent auf FileMaker Konferenzen
  • 3. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Zum Vortrag Theorie •Was sind Reguläre Ausdrücke? •Wofür können Reguläre Ausdrücke verwendet werden? •Einführung in die Syntax und Semantik
 Praxis •Beispiele und Übungen
 Sonstiges •Reguläre Ausdrücke in FileMaker verwenden •Plugins für Reguläre Ausdrücke •Hilfreiches, weiterführendes Material
  • 4. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Theorie
  • 5. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Was sind Reguläre Ausdrücke? „ Ein regulärer Ausdruck (englisch: regular expression, Abkürzung RegExp oder Regex) ist […] eine Zeichenkette, die der Beschreibung von Mengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient. […] Ein einfacher Anwendungsfall von regulären Ausdrücken sind Wildcards. Reguläre Ausdrücke können als Filterkriterien in der Textsuche verwendet werden, indem der Text mit dem Muster des regulären Ausdrucks abgeglichen wird. Dieser Vorgang wird auch Pattern Matching genannt.“ Wikipedia – https://de.wikipedia.org/wiki/Regulärer_Ausdruck

  • 6. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Was sind Reguläre Ausdrücke? (2) • Reguläre Ausdrücke beschreiben eine Familie von formalen Sprachen (reguläre Sprachen) • Die regulären Sprachen verwenden eine bestimmte Syntax und Semantik • Die meisten Programmiersprachen verwenden Perl Compatible Regular Expressions (PCRE) • Gilt auch für FileMaker Plugins (RegEx-Plugin, MBS-Plugin)
  • 7. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Wofür können sie verwendet werden? • Schnelle Mustersuche in Texten • Suchen ähnlicher Wörter (Meier, Mayer, Meyer, Mair, …) • Suchen und Ersetzen • Validierung von Feldinhalten • Zum Beispiel Überprüfung von E-Mailadressen • Bereinigen von Texten • Zum Beispiel Entfernen von doppelten Leerzeichen • …
  • 8. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Syntax Die Syntax definiert, wie reguläre Ausdrücke aussehen
 • Die leere Menge ist ein regulärer Ausdruck • Jedes Zeichen aus dem Alphabet ist ein regulärer Ausdruck • Reguläre Ausdrücke basieren auf drei Operationen: • (x|y) Alternative • (xy) Verkettung • (x*) Wiederholung
  • 9. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Semantik Die Semantik beschreibt die formale Bedeutung der Syntax regulärer Ausdrücke • Metazeichen • Escapezeichen • Zeichenklassen • Quantifizieren • Anker • Gruppen • Ersetzungen • Flags
  • 10. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Metazeichen [ ] ( ) { } | ? + - * ^ $ . • Wenn nach diesen Zeichen gesucht wird, müssen sie „escaped“ werden • Einige Zeichen haben haben mehrfache Bedeutungen (kontextabhängig) • zum Beispiel ? oder ^ [A-Z].*?(?=ungb) ^[^aeiou]w+
  • 11. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Escapezeichen (Backslash) Hebt die besondere Bedeutung des nachfolgenden Metazeichens
 auf bzw. gibt dem nachfolgenden Zeichen eine besondere Bedeutung Zum Beispiel:
 → „“ (Backslash)
 * → „*“ (Asterisk)
 d → eine Ziffer (0…9)
 t → „ “ (Tabulator)
  • 12. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Zeichenklassen [ ] Zeichenklassendefinition; Auswahl genau eines Zeichens
 [abc] → Entweder ein „a“ oder „b“ oder „c“ Einige Metazeichen haben in der Zeichenklassendefinition besondere Bedeutung: ^ Ein einführendes Zirkumflex invertiert die Zeichenklassendefinition
 [^abc] → Ein beliebiges Zeichen, aber kein „a“, „b“ oder „c“
 [a^b] → Ein „a“, „b“ oder „^“ - Ein Bindestrich zwischen zwei Zeichen beschreibt einen Bereich
 [a-e] → Entspricht [abcde]
 [ae-] → Entweder ein „a“, „e“ oder „-“
  • 13. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Zeichenklassen (2) . (Punkt) Ein beliebiges Zeichen außer Zeilenumbruch; entspricht [^nr] d (Ziffer) Ein Ziffer, also [0-9]; einschließlich weiterer Zahlzeichen in Unicode 
 (nicht-arabische Ziffern) D (keine Ziffer) Ein Zeichen, das keine Ziffer ist; entspricht [^d] w (Wortzeichen) Ein Buchstabe, eine Ziffer oder der Unterstrich; einschließlich 
 nicht-lateinische Buchstaben, z. B. Umlaute W (kein Wortzeichen) Ein Zeichen, das weder Buchstabe noch Ziffer noch
 Unterstrich ist; entspricht [^w] s (Whitespace) Ein Leerzeichen oder anderes Leerraumzeichen: 
 f Seitenvorschub, n Zeilenvorschub, r Wagenrücklauf, t Tabulator, 
 v Vertikaler Tabulator S (kein Whitespace) Ein Zeichen, das kein Whitespace ist; entspricht [^s]
  • 14. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Qualifizierer Ein Qualifizierer bezieht sich immer auf das vorangestellte Token Qualifizierer sind in der Voreinstellung gierig (greedy) und versuchen so viele Zeichen wie möglich mit dem Suchmuster abzugleichen + Findet ein oder mehrere Auftreten des vorangestellten Tokens
 Aw+ → Findet alle Wörter, die mit einem großen „A“ beginnen, aber nicht
 das „A“ als Einzelbuchstaben * Findet kein, ein oder mehrere Auftreten des vorangestellten Tokens
 Aw* → Wie oben, aber jetzt wird auch das „A“ als Einzelbuchstabe gefunden ? Findet kein oder ein Auftreten des vorangestellten Tokens
 colou?r → Findet „color“ und „colour“
  • 15. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Qualifizierer (2) {4} Findet genau vier Auftreten des vorangestellten Tokens {2,4} Findet zwei, drei oder vier Auftreten des vorangestellten Tokens
 {0,1}→ Entspricht ? {2,} Findet zwei oder mehr Auftreten des vorangestellten Tokens
 {1,} → Entspricht +
 {0,} → Entspricht *
  • 16. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Trägheit ? Ein Fragezeichen macht den vorangestellten Qualifizierer träge (lazy) und 
 es werden so wenig Auftreten wie möglich gefunden Aw*? → Findet nur den Buchstaben „A“, unabhängig davon, ob noch
 weitere Buchstaben folgen
  • 17. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Auswahl | Der senkrechte Strich (Pipe) agiert wie ein logisches ODER
 Es wird der Ausdruck vor oder hinter der Pipe gesucht rot|blau → Findet „rot“ oder „blau“ M(ai|ay|ei|ey)er → Findet verschiedene Auftreten des Nachnamens M(a|e)(i|y)er → Kürzere Form des vorherigen Beispiels
  • 18. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Anker Ein Anker finden eine Position, jedoch kein Zeichen ^ Anfang eines Textes; findet den Textanfang bzw. den Anfang jeder Zeile, 
 wenn das Mehrzeilen-Flag m gesetzt ist
 ^w+ → Findet das erste Wort in einem Text $ Ende eines Textes; findet das Textende bzw. das Ende jeder Zeile, 
 wenn das Mehrzeilen-Flag m gesetzt ist
 w+$ → Findet das letzte Wort in einem Text b Wortgrenze; findet den Anfang oder das Ende eines Wortes
 bs → Findet das „s“ am Anfang eines Wortes B Nichtwortgrenze; Gegenteil von b
 Bs → Findet das „s“ innerhalb eines Wortes
  • 19. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Gruppen ( ) Gruppe; fasst Teilausdrücke als neues Token zusammen
 (ha)+ → Findet ein oder mehrere zusammenhängende „ha“ 1 Referenz; verweist auf die erste Gruppe
 b(w)(w)21b → Findet Palindrome mit vier Buchstaben
 Beispiel: „anna“, „otto“ (?:abc) Unterdrücken; die Gruppe wird zwar gesucht, aber nicht erfasst, kann also nicht referenziert werden
  • 20. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Voraus- und Rückschau (?=abc) Positive Vorausschau; sucht eine Gruppe, die nach dem Hauptausdruck
 vorhanden sein muss, aber im Ergebnis nicht ausgegeben wird
 d+(?=px) → Findet numerische Pixelwerte (?!abc) Negative Vorausschau; gibt eine Gruppe an, die nicht nach dem 
 Hauptausdruck auftauchen darf
 d+(?!px)b → Findet num. Angaben, deren Einheit nicht „px“ ist (?<=abc) Positive Rückschau; sucht eine Gruppe, die vor dem Hauptausdruck 
 vorhanden sein muss, aber im Ergebnis nicht ausgegeben wird
 (?<=-)d+ → Findet negative Zahlen, ohne das Minus auszugeben (?<!abc) Negative Rückschau; gibt eine Gruppe an, die nicht vor dem Haupt-
 ausdruck auftauchen darf
 (?<!-)bd+ → Findet nur positive Zahlen
  • 21. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Ersetzungen $& Gefundener Text $1 Gefundene Teilgruppe; $3 entspricht der 3. Gruppe $` Text vor dem gefundenen Text $’ Text nach dem gefundenen Text
  • 22. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Flags Flags bestimmen, wie die Ausdrücke interpretiert werden i Ignore Case - Groß-/Kleinschreibung ignorieren g Global - Globale Suche; führt eine mehrfache Suche durch, wobei die Suche 
 jeweils hinter dem letzten Suchergebnis fortgesetzt wird m Multiline - Mehrzeiliger Text; die Start- und Endeanker (^ und $) entsprechen
 nun dem Anfang und Ende jeder Zeile, statt des gesamten Texts s Single-line - Ein Dot (.) findet auch Zeilenumbrüche
  • 23. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Praxis
  • 24. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com E-Mailadresse validieren RFC-Standard als RegEx umgesetzt: (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|} ~-]+)*|"(?:[x01-x08x0bx0cx0e-x1fx21x23-x5bx5d- x7f]|[x01-x09x0bx0cx0e-x7f])*")@(?:(?:[a-z0-9](?: [a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?| [(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?: 25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?: [x01-x08x0bx0cx0e-x1fx21-x5ax53-x7f]|[x01- x09x0bx0cx0e-x7f])+)]) Korrekt, aber nicht empfehlenswert Kürzerer Regulärer Ausdruck; findet viele, aber nicht alle E-Mailadressen: b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}b
  • 25. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com E-Mailadresse validieren (detailiert) Wortgrenze Buchstabe, Ziffer oder ein Zeichen Wortgrenze min. 1x das @-Zeichen Buchstabe, Ziffer, Punkt oder Minus min. 1x der Punkt zwei bis vier Buchstaben • Flag i (ignore case) muss aktiviert sein • Erkennt die meisten E-Mailadressen: arnold@kegebein.net • Falsches Positiv: ak..@..de b[A-Z0-9._%+-]+@[A-Z0-9.-]+ .[A-Z]{2,4}b
  • 26. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Zahlen finden • Positive Ganzzahl
 • Positive und negative Zahlen
 • auch Zahlen mit Nachkommastellen
 • Zahlen mit Tausender-Trennzeichen
 d+ -?d+ -?d*(,d+)? ([1-9]d{0,2}.(d{3}.)*)d+ [+-]?d+
  • 27. (Tages- und Monatszahlen).(d{2}){1,2} Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Datum finden • Datumsformat TT.MM.JJJJ: 14.02.2015, 01.01.2016 • Auch ohne führende Nullen und nur kurzer Jahreszahl: 1.1.16 Besondere Herausforderung • Tages- und Monatszahlen validieren (ohne Schaltjahrprüfung) dd.dd.d{4} d{1,2}.d{1,2}.(d{2}){1,2} (d{1,2}.?){4} Findet auch falsche Positive (1.23.456) (
 Monate mit 30 Tagen|
 Monate mit 31 Tagen|
 Februar mit 29 Tagen ).(d{2}){1,2} (
 ((0?[1-9]|[12]d)|30).(0?[469]|11)|
 Monate mit 31 Tagen|
 Februar mit 29 Tagen ).(d{2}){1,2} (
 ((0?[1-9]|[12]d)|30).(0?[469]|11)|
 ((0?[1-9]|[12]d)|30|31).(0?[13578]|10|12)| Februar mit 29 Tagen ).(d{2}){1,2} (
 ((0?[1-9]|[12]d)|30).(0?[469]|11)|
 ((0?[1-9]|[12]d)|30|31).(0?[13578]|10|12)| ((0?[1-9]|[12]d)).0?2 ).(d{2}){1,2} (
 ((0?[1-9]|[12]d)|30).(0?[469]|11)|
 ((0?[1-9]|[12]d)|30|31).(0?[13578]|10|12)| ((0?[1-9]|[12]d)).0?2 ).(d{2}){1,2} Zeilenumbrüche nur zur Verdeutlichung eingebaut
  • 28. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Textbeispiele Auf den sieben Robbenklippen sitzen sieben Robbensippen, 
 die sich in die Rippen stippen, bis sie von den Klippen kippen. Finde: • Großbuchstaben • Großgeschriebene Wörter • Buchstabendoppel • Wörter mit Buchstabendoppel • Wörter, die mehrfach vorkommen • Wörter, mit zwei Vokale hintereinander • Wörter mit mindest. drei Vokalen [A-Z] [A-Z][a-z]* (w)1 w*?(w)1w* (bw+b)(?=.*(1)) b[A-Z]w* w*[aeiou]{2}w* w*?([aeiou][^aeiouW]*){3,}
  • 29. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Reguläre Ausdrücke in FileMaker Verschiedene Aufgaben lassen sich mit regulären Ausdrücken ausführen: • Prüfen, ob ein Text einem RegEx-Muster entspricht • Eingabe einer IBAN oder numerischen IP-Adresse • Parsen von Texten • Text nach E-Mailadressen oder Datumsangaben durchsuchen • Postanschrift in Einzelkomponenten zerlegen • Daten filtern, bereinigen oder normalisieren • Telefonnummern (Leerzeichen und andere Zeichen entfernen) • Tags aus HTML-Text entfernen
  • 30. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Sonstiges
  • 31. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Reguläre Ausdrücke in FileMaker • RegEx-Plugin von Dr. Jens Teich http://jensteich.de/filemaker/filemaker-plugins/regex-plugin/ • kostenlos • einfache Anwendung
 • MBS-Plugin von Christian Schmitz http://www.monkeybreadsoftware.de/filemaker/ • basiert auf der C Library • komplizierter
  • 32. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com RegEx-Plugin RegP_Scan ( regex; text {; flags} ) • Prüft, ob der reguläre Ausdruck im Text vorkommt RegP_GetText ( regex; text {; flags; register} ) • Ermittelt die erste entsprechende Textpassage Beispiel: RegP_GetText ( "M(a|e)(i|y)er"; $Text ) RegP_GetTextAll ( regex ; text {; separationstring ; flags; register} ) • Ermittelt alle entsprechenden Textpassagen RegP_Positions ( regex ; text {; flags ; pairInnerDelimiter ; pairOuterDelimiter } ) • Gibt die Positionen der Gruppen des Ausdrucks zurück
  • 33. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com RegEx-Plugin (2) Aufruf zum Beispiel im Scriptbefehl Variable setzen oder über all da, 
 wo eine Formel verwendet wird. Beispiel: Stärke eines Passwortes überprüfen Wenn [ Nicht( RegEx_Scan( "[0-9]"; DB::Passwort ) 
 Und RegEx_Scan( "[A-Z]"; DB::Passwort ) 
 Und RegEx_Scan( "[a-z]"; DB::Passwort ) 
 Und RegEx_Scan( "w"; DB::Passwort ) ) ] …
  • 34. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com MBS-Plugin MBS( "RegEx.Match"; regex; text {; flags} ) • Prüft, ob der reguläre Ausdruck im Text vorkommt
 MBS( "RegEx.MatchList"; regex; list {; flags} )
 MBS( "List.RegExMatch"; list; regex {; flags} ) • Gibt alle Listenelemente zurück, in denen der Ausdruck gefunden wird
 MBS( "RegEx.FindMatches"; regexRef; text {; options {; returnWholeMatch} ) • Ermittelt alle entsprechenden Textpassagen • Muss mit RegEx.Compile und RegEx.Free aufgerufen werden
  • 35. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com MBS-Plugin (2) Eine Eigene Funktion kann die Einzelbefehle zusammenfassen: CF_RegEx ( _text; _regex; _flags ) SetzeVar( [
 RE = MBS( "RegEx.Compile"; _regex; _flags );
 Ergebnis = MBS( "RegEx.FindMatches"; RE; _text; 0; 1 );
 ~ = MBS( "RegEx.Free"; RE )
 ];
 ~result
 )
  • 36. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Hilfreiches Material Internet • http://regexr.com - Test-Editor, Referenz, Beispiele • http://regexpal.com - Test-Editor, Referenz • http://www.regular-expressions.info - Tutorial, Referenz, Beispiele
 Software • RegExRX von MacTechnologies Consulting (Mac + Win, Shareware)
 http://www.mactechnologies.com/index.php?page=downloads
 Bücher • Diverse Bücher aus dem O’Reilly Verlag
  • 37. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Fragen & Antworten
  • 38. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Fragen & Antworten • Jetzt • Während der Konferenzpausen • Per E-Mail: arnold@kegebein.net
  • 39. Dipl.-Ing. (FH) Arnold Kegebein Reguläre Ausdrücke – Workshop FileMaker Konferenz 2015 Hamburg www.filemaker-konferenz.com Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages