Top Banner
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
39

FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Mar 21, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Reguläre AusdrückeDipl.-Ing. (FH) Arnold Kegebein

Page 2: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 3: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 4: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Theorie

Page 5: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 6: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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)

Page 7: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

• …

Page 8: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 9: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Semantik

Die Semantik beschreibt die formale Bedeutung der Syntax regulärer Ausdrücke

• Metazeichen

• Escapezeichen

• Zeichenklassen

• Quantifizieren

• Anker

• Gruppen

• Ersetzungen

• Flags

Page 10: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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].*?(?=ung\b) ̂ [^aeiou]\w+

Page 11: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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)

Page 12: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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 „-“

Page 13: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Zeichenklassen (2)

. (Punkt) Ein beliebiges Zeichen außer Zeilenumbruch; entspricht [^\n\r]

\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]

Page 14: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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 TokensA\w+ → 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 TokensA\w* → Wie oben, aber jetzt wird auch das „A“ als Einzelbuchstabe gefunden

? Findet kein oder ein Auftreten des vorangestellten Tokenscolou?r→ Findet „color“ und „colour“

Page 15: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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 *

Page 16: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Trägheit

? Ein Fragezeichen macht den vorangestellten Qualifizierer träge (lazy) und es werden so wenig Auftreten wie möglich gefunden

A\w*? → Findet nur den Buchstaben „A“, unabhängig davon, ob noch weitere Buchstaben folgen

Page 17: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 18: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 19: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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)\2\1\b → Findet Palindrome mit vier Buchstaben Beispiel: „anna“, „otto“

(?:abc) Unterdrücken; die Gruppe wird zwar gesucht, aber nicht erfasst, kann also nicht referenziert werden

Page 20: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Voraus- und Rückschau

(?=abc) Positive Vorausschau; sucht eine Gruppe, die nach dem Hauptausdruckvorhanden 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(?<!-)\b\d+ → Findet nur positive Zahlen

Page 21: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Ersetzungen

$& Gefundener Text

$1 Gefundene Teilgruppe; $3 entspricht der 3. Gruppe

$` Text vor dem gefundenen Text

$’ Text nach dem gefundenen Text

Page 22: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 23: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Praxis

Page 24: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

E-Mailadresse validieren

RFC-Standard als RegEx umgesetzt:

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\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-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\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

Page 25: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

E-Mailadresse validieren (detailiert)

WortgrenzeBuchstabe, Ziffer oder ein Zeichen

Wortgrenze

min. 1xdas @-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: [email protected]

• Falsches Positiv: [email protected]

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

Page 26: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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+

Page 27: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

(Tages- und Monatszahlen)\.(\d{2}){1,2}

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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)

\d\d\.\d\d\.\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

Page 28: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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)\1\w*

(\b\w+\b)(?=.*(\1))

\b[A-Z]\w*

\w*[aeiou]{2}\w*

\w*?([aeiou][^aeiou\W]*){3,}

Page 29: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 30: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Sonstiges

Page 31: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 32: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 33: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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 ) ) ]

Page 34: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 35: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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 )

Page 36: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.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

Page 37: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Fragen & Antworten

Page 38: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Fragen & Antworten

• Jetzt

• Während der Konferenzpausen

• Per E-Mail: [email protected]

Page 39: FMK2015: Reguläre Ausdrücke by Arnold Kegebein

Dipl.-Ing. (FH) Arnold KegebeinReguläre Ausdrücke – Workshop

FileMaker Konferenz 2015 Hamburgwww.filemaker-konferenz.com

Vielen Dank unseren Sponsoren

Danke für das Bewerten dieses Vortrages