Informationsextraktion Materialien zur Vorlesung
|
|
- Albert Boer
- vor 7 Jahren
- Abrufe
Transkript
1 Vordefinierte Informationsextraktion Materialien zur Vorlesung Reguläre Ausdrücke D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2011/12, 16. Dezember 2011, c D.Rösner
2 Gliederung Einleitung Vordefinierte 1 Einleitung Vordefinierte 6 7 8
3 Vordefinierte Reguläre Ausdrücke viele interessierende Token und Token-Kombinationen lassen sich mithilfe regulärer Ausdrücke beschreiben im folgenden wird die API aus java.util.regex als Beispiel einer Sprache für reguläre Ausdrücke vorgestellt URL: tutorial/extra/regex/index.html unter dieser URL ist auch ein einfaches Testprogramm verfügbar (sog. RegexTestHarness) s.a. [Hab04]
4 Vordefinierte Reguläre Ausdrücke einfachster Fall eines regulären Ausdrucks ist ein String-Literal Beispiel: REGEX ist foo String (INPUT) ist ebenfalls foo Ergebnis des RegexTestHarness ist dann Current REGEX is: foo Current INPUT is: foo I found the text "foo" starting at index 0 and ending at index 3.
5 Vordefinierte Reguläre Ausdrücke ein regulärer Ausdruck kann mehrmals Erfolg haben Current REGEX is: foo Current INPUT is: foofoofoo I found the text "foo" starting at index 0 and ending at index 3. I found the text "foo" starting at index 3 and ending at index 6. I found the text "foo" starting at index 6 and ending at index 9.
6 Vordefinierte Reguläre Ausdrücke Beachte: ein erneuter Match kann erst frühestens bei der End-Position des vorherigen Match beginnen Current REGEX is: foofo Current INPUT is: foofoofoofoofo I found the text "foofo" starting at index 0 and ending at index 5. I found the text "foofo" starting at index 6 and ending at index 11.
7 Vordefinierte Reguläre Ausdrücke flexibler als mit String-Literalen lassen sich Match-Bedingungen formulieren, wenn Meta-Zeichen verwendet werden Meta-Zeichen werden vom Matcher auf spezielle Weise interpretiert Beispiel: der Punkt (.) als Meta-Zeichen passt auf ein beliebiges Zeichen Current REGEX is: cat. Current INPUT is: cats I found the text "cats" starting at index 0 and ending at index 4.
8 Vordefinierte Reguläre Ausdrücke: Meta-Zeichen die durch die regex-api unterstützten Meta-Zeichen sind: ( [ { \ ^ $ )? * +. Meta-Zeichen können auf folgende Weise als gewöhnliche Zeichen verwendet werden: durch Voranstellen eines Backslash ( \) durch Einschluss zwischen \Q und \E
9 Vordefinierte Reguläre Ausdrücke: im von regulären Ausdrücken wird eine Zeichenklasse geschrieben als eine Menge von Zeichen innerhalb eckiger Klammern eine Zeichenklasse enthält die für den Match mit einem einzelnen Zeichen der Eingabe in Frage kommenden Zeichen Beispiel: Zeichenklasse [rcb] Current REGEX is: [rcb]at Current INPUT is: bat I found the text "bat" starting at index 0 and ending at index 3.
10 Vordefinierte Reguläre Ausdrücke: damit alle Zeichen ausser den aufgelisteten erfolgreich sind, muss das Meta-Zeichen für Negation (^) an den Anfang der Zeichenklasse gestellt werden Current REGEX is: [^bcr]at Current INPUT is: rat No match found. Current REGEX is: [^bcr]at Current INPUT is: hat I found the text "hat" starting at index 0 and ending at index 3.
11 Vordefinierte Reguläre Ausdrücke: um Bereiche von Zeichen (z.b. Buchstaben von u bis z, Ziffern von 5 bis 9) zu kennzeichnen, kann zwischen Anfangselement und Endelement des Bereichs ein - geschrieben werden Current REGEX is: foo[1-5] Current INPUT is: foo5 I found the text "foo5" starting at index 0 and ending at index Current REGEX is: foo[1-5] Current INPUT is: foo6 No match found.
12 Vordefinierte Reguläre Ausdrücke: Bereiche können auch nebeneinandergestellt werden, z.b. [a-za-z] Negation kann mit Bereich verwendet werden Current REGEX is: foo[^1-5] Current INPUT is: foo1 No match found. Current REGEX is: foo[^1-5] Current INPUT is: foo6 I found the text "foo6" starting at index 0 and ending at index
13 Vordefinierte Reguläre Ausdrücke: Mengenoperationen bei für beliebige (nicht nur Bereiche) stehen die Mengenoperationen Vereinigung, Durchschnitt und Mengendifferenz zur Verfügung syntaktisch wird die Vereinigung durch Einbetten einer Zeichenklasse innerhalb einer anderen dargestellt Current REGEX is: [0-4[789]] Current INPUT is: 0 I found the text "0" starting at index 0 and ending at index 1.
14 Vordefinierte Reguläre Ausdrücke: Mengenoperationen syntaktisch wird der Durchschnitt mit dem Operator && dargestellt Current REGEX is: [0-9&&[345]] Current INPUT is: 5 I found the text "5" starting at index 0 and ending at index 1. Current REGEX is: [0-9&&[345]] Current INPUT is: 2 No match found.
15 Vordefinierte Reguläre Ausdrücke: Mengenoperationen syntaktisch wird die Mengendifferenz als Durchschnitt mit einem Komplement realisiert Current REGEX is: [0-9&&[^345]] Current INPUT is: 2 I found the text "2" starting at index 0 and ending at index 1. Current REGEX is: [0-9&&[^345]] Current INPUT is: 3 No match found.
16 Vordefinierte Reguläre Ausdrücke: mit n kann festgelegt werden, wie oft ein Match erwartet wird bzw. zulässig ist die Meta-Zeichen * +? haben zunächst die aus formalen Sprachen (Kleene; s. z.b. XML-DTDs) bekannte Bedeutung: Muster Bedeutung x* null oder endlich viele x x+ ein oder endlich viele x x? null oder ein x
17 Vordefinierte Reguläre Ausdrücke: mit in nachgestellten geschweiften Klammern angegebenen n kann festgelegt werden, dass ein Muster exakt n mal erfolgreich sein soll (Syntax: {n}), ein Muster mindestens n mal erfolgreich sein soll (Syntax: {n,}), ein Muster mindestens m und höchstens n mal erfolgreich sein soll (Syntax: {m,n}).
18 Vordefinierte Reguläre Ausdrücke: Muster exakt n mal erfolgreich Current REGEX is: a{3} Current INPUT is: aa No match found. Current REGEX is: a{3} Current INPUT is: aaa I found the text "aaa" starting at index 0 and ending at index 3. Current REGEX is: a{3} Current INPUT is: aaaa I found the text "aaa" starting at index 0 and ending at index 3.
19 Vordefinierte Reguläre Ausdrücke: Muster mindestens n mal erfolgreich Current REGEX is: a{3,} Current INPUT is: aaaaaaaaa I found the text "aaaaaaaaa" starting at index 0 and ending at index 9.
20 Vordefinierte Reguläre Ausdrücke: Muster mindestens m und höchstens n mal erfolgreich Current REGEX is: a{3,6} // find at least 3 // (but no more than 6) a s in a row Current INPUT is: aaaaaaaaa I found the text "aaaaaa" starting at index 0 and ending at index 6. I found the text "aaa" starting at index 6 and ending at index 9.
21 Vordefinierte Reguläre Ausdrücke: können auch auf und angewendet werden Current REGEX is: (dog){3} Current INPUT is: dogdogdogdogdogdog I found the text "dogdogdog" starting at index 0 and ending at index 9. I found the text "dogdogdog" starting at index 9 and ending at index 18. Current REGEX is: dog{3} Current INPUT is: dogdogdogdogdogdog No match found.
22 Vordefinierte Reguläre Ausdrücke: für Zeichenklasse Current REGEX is: [abc]{3} Current INPUT is: abccabaaaccbbbc I found the text "abc" starting at index 0 and ending at index 3. I found the text "cab" starting at index 3 and ending at index 6. I found the text "aaa" starting at index 6 and ending at index 9. I found the text "ccb" starting at index 9 and ending at index 12. I found the text "bbc" starting at index 12 and ending at index 15.
23 Vordefinierte Reguläre Ausdrücke: Es gibt subtile Unterschiede zwischen unterschiedlichen bei der Verarbeitung von Mustern mit n greedy (Default): es wird versucht, so viel wie möglich zu matchen; Reduktion des Ergebnisses (Backup) nur, wenn wegen späterem Fehlschlag erforderlich lazy oder reluctant (Syntax: nachgestelltes?): es wird versucht, so wenig wie möglich zu matchen; Ausweitung des Ergebnisses nur, wenn wegen späterem Fehlschlag erforderlich...
24 Vordefinierte Reguläre Ausdrücke:... possessive (Syntax: nachgestelltes +): es wird versucht, so viel wie möglich zu matchen, aber im Unterschied zu greedy wird ein einmal erfolgreicher (lokaler) Match nicht wieder (zugunsten globalen Erfolgs) aufgegeben
25 Vordefinierte Reguläre Ausdrücke: Beispiele für Current REGEX is:.*foo // greedy quantifier Current INPUT is: xfooxxxxxxfoo I found the text "xfooxxxxxxfoo" starting at index 0 and ending at index 13. Current REGEX is:.*?foo // reluctant quantifier Current INPUT is: xfooxxxxxxfoo I found the text "xfoo" starting at index 0 and ending at index 4. I found the text "xxxxxxfoo" starting at index 4 and ending at index 13. Current REGEX is:.*+foo // possessive quantifier Current INPUT is: xfooxxxxxxfoo
26 Vordefinierte Reguläre Ausdrücke: Varianten bei n Greedy Lazy Possessive Bedeutung x* x*? x*+ null oder endlich viele x x+ x+? x++ ein oder endlich viele x x? x?? x?+ null oder ein x x{n} x{n}? x{n}+ exakt n mal x x{n,} x{n,}? x{n,}+ mindestens n mal x x{m,n} x{m,n}? x{m,n}+ m bis n mal x
27 Vordefinierte Reguläre Ausdrücke Die regex API bietet die folgenden vordefinierten : Muster Bedeutung. beliebiges Zeichen \d eine Ziffer: [0-9] \D eine Nicht-Ziffer: [^0-9] \s ein Leerzeichen (whitespace): [ \t\n\x0b\f\r] \S ein Nicht-Leerzeichen (non-whitespace): [^\s] \w ein Wort-Zeichen: [a-za-z_0-9] \W ein Nicht-Wort-Zeichen: [^\w]
28 Vordefinierte Reguläre Ausdrücke: Begrenzungsbedingungen mit den sog. boundary matchers kann Match von einer speziellen Begrenzungsbedingung abhängig gemacht werden: Boundary Matcher Bedeutung ^ Zeilenanfang $ Zeilenende \b eine Wortgrenze \B keine Wortgrenze \A Beginn der Eingabe \G Ende des vorherigen Match \Z Ende der Eingabe (ignoriert Terminatorzeichen \z Ende der Eingabe
29 Vordefinierte Reguläre Ausdrücke: (capturing groups) sind in Klammern zusammengefasste Folgen von Zeichen oder von rekursiv Zählung der Gruppen anhand der Klammern von links nach rechts: der Ausdruck ((A))(B(C))) enthält die Gruppen 1 ((A))(B(C))) 2 (A) 3 (B(C)) 4 (C) Gruppe 0 ist der gesamte Ausdruck
30 Vordefinierte Reguläre Ausdrücke: auf kann wieder verwiesen werden Syntax: Backslash ( \) gefolgt von Nummer der Gruppe Beispiel: Current REGEX is: (\d\d)\1 Current INPUT is: 1212 I found the text "1212" starting at index 0 and ending at index 4. Current REGEX is: (\d\d)\1 Current INPUT is: 1234 No match found.
31 Vordefinierte Reguläre Ausdrücke: bei werden die matchenden Teilstrings des Kandidaten von der regex engine im Speicher gehalten will man eine Gruppe nur als logische Einheit behandeln ohne den matchenden Teilstring zu speichern, so kann dies durch eine nicht-ergreifende Wiederholungsgruppe geschehen (engl. noncapturing group) nicht-ergreifende werden bei der Indexvergabe an Grupppen nicht gezählt
32 Vordefinierte Reguläre Ausdrücke: Syntax: nach der öffnenden Klammer der Gruppe (?:) anbringen Beispiel: Unterschied zwischen den Mustern (\w)(\d\d)(\w+) und (\w)(\d\d)(?:\w+) Beispiel: Unterschied zwischen den Mustern (good bad terrible great) morning und (?:good bad terrible great) morning
33 Vordefinierte Reguläre Ausdrücke: mit sog. lookarounds kann der berücksichtigt werden, ohne ihn zu konsumieren vier Varianten: positive Vorausschau negative Vorausschau positive Rückschau negative Rückschau engl. Bezeichner: lookahead bzw. lookbehind
34 Vordefinierte Reguläre Ausdrücke: lookahead Syntax: nach der öffnenden Klammer der Gruppe?= anbringen Beispiel: Muster (?=\d\d) Beispiel: akzeptieren von IP-Adressen, aber nur wenn sie mit 255 beginnen Muster: (?=^255).* Kandidat: beachte unterschiedliches Verhalten von (?:=^255).*
35 Vordefinierte Reguläre Ausdrücke: negative lookahead Syntax: nach der öffnenden Klammer der Gruppe?! anbringen damit wird ausgedrückt, dass etwas nicht folgen soll im Kandidatenstring Beispiel: akzeptieren von Namen aus Vorname John gefolgt von Nachname, sofern dieser nicht Smith ist Muster: John (?!Smith)[A-Z]\w+
36 Vordefinierte Reguläre Ausdrücke: positive lookbehind Syntax: nach der öffnenden Klammer der Gruppe?<= anbringen Beispiel: sicherstellen, dass dem Kandidaten zwei Ziffern vorangehen Muster: (?<=\d\d).* Beispiel: akzeptieren als URL, wenn vorangeht Muster: (?<=
37 Vordefinierte Reguläre Ausdrücke: negative lookbehind Syntax: nach der öffnenden Klammer der Gruppe?<! anbringen Beispiel: sicherstellen, dass dem Kandidaten nicht zwei Ziffern vorangehen Muster: (?<!\d\d).* Frage: Wie wird String 42 ist die Antwort mit dem Muster verarbeitet?
38 Vordefinierte Reguläre Ausdrücke Hinweise zum Erhöhen der (vgl. [M. Habibi, 2004, Ch. 3]) Bevorzuge nicht-ergreifende, sofern möglich. Schalte der regex-verarbeitung einfache Tests vor. Beispiel: Bevor auf -adresse und ihre Komponenten getestet wird, prüfe, ob überhaupt enthalten: if (candidate.indexof("@")) //..
39 Vordefinierte Reguläre Ausdrücke Hinweise zum Erhöhen der cont. Ordne Alternativen nach erwarteter Häufigkeit. Beispiel: wenn 90 Prozent der Mitglieder eines Klubs promoviert, dann Muster für Titel.*\b(?:Dr Mr Mrs Miss Brother Mister).* Kandidat: Please meet Dr Hana Saez
40 Vordefinierte Reguläre Ausdrücke Hinweise zum Erhöhen der cont. Sei so spezifisch wie möglich. Wenn bekannt, dass nur Ziffern zu erwarten, dann nicht \w, sondern \d Wenn bekannt, dass Grossbuchstabe gefolgt von Kleinbuchstaben, dann [A-Z][a-z]+ statt \w* Literale Strings werden (in der J2SE regex Implementation) schneller verarbeitet als so ist bei Suche nach Zahl zwischen 10 und 19 das Muster 1\d effizienter als \d+, \d\d, \d{2},...
41 Vordefinierte Reguläre Ausdrücke Hinweise zum Erhöhen der cont. Spezifiziere die Position des Kandidaten, falls angebbar. m.a.w. wenn Begrenzungsbedingungen gelten müssen, sollten diese angegeben werden Spezifiziere die Länge des Kandidaten, falls angebbar. m.a.w. \b[a-z][a-z]{1,20} besser als \b[a-z][a-z]+ m.a.w. bei sechs oder mehr Zeichen ist \w\w\w\w\w\w+ besser als \w+
42 Vordefinierte Reguläre Ausdrücke Hinweise zum Erhöhen der cont. Grenze den Bereich von Alternativen ein. m.a.w. gegenüber Good Morning Good Evening ist Good (?:Morning Evening) vorzuziehen
43 Literatur: I Einleitung Vordefinierte Mehran Habibi. Java Regular Expressions: Taming the java.util.regex engine. Apress, Berkeley, 2004.
Gliederung. Informationsextraktion Materialien zur Vorlesung. Entwicklung eines regex für Firmennamen. Entwicklung eines regex für Firmennamen
Gliederung Informationsextraktion Materialien zur Vorlesung Beispiel: reguläre Ausdrücke für Firmennamen 1 D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke
MehrInformationsextraktion Materialien zur Vorlesung
Informationsextraktion Materialien zur Vorlesung Beispiel: reguläre Ausdrücke für Firmennamen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität
MehrWebengineering. Reguläre Ausdrücke. Dienstag, 2. Juli 13
Webengineering Reguläre Ausdrücke Marcel Vilas 1 DHBW - Stuttgart 1 RegExp - Allgemein Muster, die eine Menge von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln beschreiben Werden oft als Suchmuster
MehrReguläre Ausdrücke mit Java
Reguläre Ausdrücke mit Java Johannes Dyck, Thomas Schulz Projektseminar www.prominentpeople.info Gliederung 2 1. Grundlagen von regulären Ausdrücken 1. Aufbau 2. Zeichenklassen 3. Metazeichen 4. Quantoren
MehrReguläre Ausdrücke. Silke Trißl Wissensmanagement in der Bioinformatik
Reguläre Ausdrücke Silke Trißl Wissensmanagement in der Bioinformatik Sinn und Ziel Reguläre Ausdrücke sind eine Möglichkeit eine Menge von Strings aufgrund von gemeinsamen Merkmalen zu beschreiben. Suche
MehrReguläre Ausdrücke. Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik
Reguläre Ausdrücke Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Sinn und Ziel Reguläre Ausdrücke sind eine Möglichkeit eine Menge von Strings aufgrund von gemeinsamen Merkmalen zu
MehrReguläre Ausdrücke IDE AUTUMN SCHOOL
Reguläre Ausdrücke 1 Reguläre Ausdrücke Übersicht Einführung Grundlagen Währenddessen: Übungen 2 Was sind Reguläre Ausdrücke? Reguläre Ausdrücke sind Zeichenketten, die Mengen von Zeichenketten beschreiben.
MehrPropädeutikum Programmierung in der Bioinformatik
Propädeutikum Programmierung in der Bioinformatik Java Reguläre Ausdrücke und PROSITE-Patterns Thomas Mauermeier 04.12.2018 Ludwig-Maximilians-Universität München Warum Reguläre Ausdrücke? Regulärer Ausdruck
MehrDigital Humanities: Übung 1
Digital Humanities: Übung 1 Suche mit Boolschen Operatoren und Regulären Ausdrücken Sven Büchel Jena Language & Information Engineering (JULIE) Lab Friedrich-Schiller-Universität Jena, Germany http://www.julielab.de
MehrProgrammierkurs Kapitel 4
Kapitel 4 Dipl.-Wirt.-Inf. Stefan Fleischer Dipl.-Wirt.-Inf. Ulrich Wolffgang Komponente: Parser Interface für Parser entwickeln public interface IParser { public ArrayList parseemailaddresses(string
MehrEinführung in die Computerlinguistik Suche mit regulären Ausdrücken
Einführung in die Computerlinguistik Suche mit regulären Ausdrücken Dozentin: Wiebke Petersen 9. Foliensatz Wiebke Petersen Einführung CL 1 Suche mit regulären Ausdrücken Suche nach allen Wortformen des
MehrFormale Sprachen und Automaten
Formale Sprachen und Automaten Kapitel 3: Regular Expressions Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel 3 Regular
MehrEinführung in die Computerlinguistik Suche mit regulären Ausdrücken
Einführung in die Computerlinguistik Suche mit regulären Ausdrücken Dozentin: Wiebke Petersen 9. Foliensatz Wiebke Petersen Einführung CL 1 Suche mit regulären Ausdrücken Suche nach allen Wortformen des
MehrRegular expressions for pros Reguläre Ausdrücke für Fortgeschrittene (Perl) Elena Neuburg
Regular expressions for pros Reguläre Ausdrücke für Fortgeschrittene (Perl) Elena Neuburg Inhaltsverzeichnis Definition Pattern Matching Greediness Eagerness Backtracking Nützliche Optionen Backreferences
MehrReguläre Ausdrücke. Michael Jäger. 4. April 2017
Reguläre Ausdrücke Michael Jäger 4. April 2017 Zeichenketten und Sprachen Ein Alphabet ist eine endliche Menge von Symbolen. Beispiele: 1. Σ 1 = {0, 1} 2. Σ 2 = {a, b, c, d, e, f, g, h, i, j, k, l, m,
MehrEinführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen. Suche mit regulären Ausdrücken. Dozentin: Wiebke Petersen 17.5.
Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen Dozentin: Wiebke Petersen 17.5.2010 Wiebke Petersen Einführung CL (SoSe 2010) 1 Pumping-lemma für reguläre Sprachen Lemma (Pumping-Lemma)
MehrEmpfehlenswerte Referenzen
Wenn Google etwas nicht finden kann, fragen sie Jack Bauer. ("Fakten über Jack Bauer") Inhalt Empfehlenswerte Referenzen...1 0 Wozu reguläre Ausdrücke?...1 1 Die Elemente regulärer Ausdrücke...2 2 Ein
Mehr/ Vortrag Unix-AG
16.6.2010 / Vortrag Unix-AG xkcd Fortsetzung... Grundlegendes 1 Begriff: = regular expressions kurz: regex Funktion: definieren flexible Muster, mit denen in Texten gesucht (und ersetzt) werden kann. Diese
MehrEinführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen. Suche mit regulären Ausdrücken. Dozentin: Wiebke Petersen
Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen Dozentin: Wiebke Petersen 24.11.2009 Wiebke Petersen Einführung CL (WiSe 09/10) 1 Pumping-lemma für reguläre Sprachen Lemma (Pumping-Lemma)
MehrReguläre Ausdrücke Suchmuster, Pattern Matching
Suchmuster, Pattern Matching Ein oder mehrere Einzelzeichen in interner Variablen $_suchen: /e/ #liefert wahr, wenn $_ ein 'e' enthält. /aus/ #liefert wahr, wenn $_ 'aus' enthält. while { if (/e/)
MehrSchritt für Schritt Reguläre Ausdrücke verstehen. Einstieg in. Reguläre Ausdrücke. Michael Fitzgerald O REILLY. Übersetzung von Thomas Demmig
Schritt für Schritt Reguläre Ausdrücke verstehen Einstieg in Reguläre Ausdrücke O REILLY Michael Fitzgerald Übersetzung von Thomas Demmig Inhalt Vorwort.... 1 Was ist ein regulärer Ausdruck?... 1 Ein Anfang
MehrReguläre Ausdrücke. Felix Döring, Felix Wittwer 14. November Python-Kurs
Reguläre Ausdrücke Felix Döring, Felix Wittwer 14. November 2016 Python-Kurs Gliederung 1. Grundlagen 2. Matching Regeln Sonderzeichen Zusammengesetzte Regex Spezielle Sequenzen 3. Methoden 4. reqular
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung III: D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009,
MehrProgrammierparadigmen
Programmierparadigmen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 22. Juni 2009, c 2009 D.Rösner D. Rösner PGP 2009...
Mehr3 Regular expressions
3 Regular expressions Es gibt eine ganze Reihe von Unix-Werkzeugen, für deren Benutzung es sinnvoll oder gar wesentlich ist, dass man mit etwas umgehen kann, was als regular expression oder kurz Regex
MehrAbstrakte Syntax von Prolog (1)
3. Prolog Syntax 3-1 Abstrakte Syntax von Prolog (1) Abstrakte und konkrete Syntax: Abstrakte Syntax: Nur Datenstrukturen, die der Parser anlegt (z.b. Operatorbaum). Konkrete Syntax: Zeichenketten, die
MehrTheoretische Informatik. Reguläre Sprachen und Automaten
Theoretische Informatik Reguläre Sprachen und Automaten Reguläre Sprachen Reguläre Ausdrücke und Sprachen Gleichungen Syntaxdiagramme Erweiterungen Anwendungen Reguläre Ausdrücke über Σ Syntax: Konstante
MehrWiederholung. Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q,
Wiederholung Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q, einem Anfangszustand q 0 Q, einer Menge von Endzuständen Q E Q, einer
MehrReguläre Ausdrücke. AnPr
Name Klasse Datum 1 Allgemeines Reguläre Ausdrücke (engl. Regular Expressions) dienen dazu, Texte bzw. Textpassagen zu beschreiben, indem Texte als Mengen von Zeichen interpretiert werden und die Beschreibung
MehrTeil VII. Scientific Computing in Computer Science, Technische Universität München
Teil VII Reguläre Ausdrücke IN8008, Wintersemester 2013/2014 134 Was wir uns (vielleicht) schon immer gefragt haben: Wie funktioniert Suche nach einer Zeichenfolge in einem Text? Wie wird Auto-Vervollständigung
Mehrb{2} [^b]{2} Reguläre Ausdrücke als Hilfsmittel der Textanalyse Manuel Raaf Bayerische Akademie der Wissenschaften, IT-Referat
b{2} [^b]{2} Reguläre Ausdrücke als Hilfsmittel der Textanalyse Manuel Raaf raaf@badw.de Bayerische Akademie der Wissenschaften, IT-Referat Reguläre Ausdrücke engl. regular expressions, kurz: regex, regexp
MehrReguläre Ausdrücke. Reguläre Ausdrücke = Regular Expressions = reg.exp./regexp/regexp = RE
Blockseminar Einführung in die Korpuslinguistik Seminarleitung: Yvonne Krämer, M.A. REGULAR EXPRESSIONS RegExp Was ist ein regulärer Ausdruck? = Regular Expressions = reg.exp./regexp/regexp = RE Ein regulärer
MehrProseminar UNIX Tools. Ferdinand Beyer
Reguläre Ausdrücke Proseminar UNIX Tools Ferdinand Beyer Technische Universität München 08.11.2005 Ferdinand Beyer (TUM) Reguläre Ausdrücke 08.11.2005 1 / 39 Gliederung Allgemeines 1 Allgemeines 2 Notation
MehrPython für Linguisten
Python für Linguisten Dozentin: Wiebke Petersen & Co-Dozentin: Esther Seyarth Fortgeschrittene Zeichenkettenverarbeitung mit regulären Ausdrücken Esther Seyarth Python 1 Motivation Wir haben bereits einige
MehrPerl-Praxis. Madis Rumming Jan Krüger
Perl-Praxis Reguläre Ausdrücke Madis Rumming Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de 1 Übersicht Reguläre Ausdrücke Muster suchen Muster finden 2 zur Erinnerung Perl := Practical Extraction
MehrGliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest
Gliederung Algorithmen und Datenstrukturen I Materialien zur Vorlesung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2009/10,
MehrGrundlagen der theoretischen Informatik
Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)
MehrRegular Expressions. Daniel Lutz Was ist eine Regular Expression?
Regular Expressions Daniel Lutz 12.11.2003 1 Was ist eine Regular Expression? Ausdruck, der ein Textfragment beschreibt Eine Regular Expression passt zu einem Textfragment, wenn das Textfragment
MehrBeuth Hochschule Einführende Gentle-Programme WS12/13, S. 1
Beuth Hochschule Einführende Gentle-Programme WS12/13, S. 1 Einführende Gentle-Programme Dieses Papier soll die Syntax und Semantik (die Schreibweise und Bedeutung) von einfachen Gentle Programmen anhand
MehrPerl-Praxis.
Perl-Praxis Reguläre Ausdrücke Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht Reguläre Ausdrücke Muster suchen Muster finden 2 zur Erinnerung Perl := Practical Extraction and Report Language Text-Dateien
MehrEinführung in die Programmiertechnik
Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher
MehrPascal Schärli
Informatik I - Übung 8 Pascal Schärli pascscha@student.ethz.ch 12.04.2019 1 Was gibts heute? Best-Of Vorlesung: Prefix / Infix EBNF Vorbesprechung Problem of the Week 2 Vorlesung 3. 1 Prefix Notation Infix
MehrAbschnitt 17: Beispiel: Die Klasse String (Teil 2), das Interface Comparable<T>
Abschnitt 17: Beispiel: Die Klasse String (Teil 2), das Interface Comparable 17. Beispiel: Die Klasse String (Teil 2), das Interface Comparable 17.1 Vergleich von Zeichenketten 17.2 Das Interface
Mehr3.1 Reservierte Wörter
3.1 Reservierte Wörter int Bezeichner für Basis-Typen; if, else, while Schlüsselwörter aus Programm-Konstrukten; (,), ",, {,},,,; Sonderzeichen. 62 3.2 Was ist ein erlaubter Name? Schritt 1: Angabe der
MehrEfficient Regexes. Pascal Zambito
Efficient Regexes Pascal Zambito 02.06.2015 Themen Catastrophic backtracking Atomic grouping Possessive Quantifiers Non-capturing groups 2 Problem: Catastrophic Backtracking Unnötig kompliziertes Backtracking
MehrEinführung in PERL 2 Reguläre Ausdrücke
Einführung in PERL 2 Reguläre Ausdrücke BASIEREND AUF FOLIEN VON DR. H. ZINSMEISTER und dem Buch `Einführung in Perl (Lama Buch) von RL Schwartz&T Phoenix sowie hwp://de.sel[tml.org/perl/sprache/regexpr.htm
MehrPerl-Praxis.
Perl-Praxis Reguläre Ausdrücke Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht Reguläre Ausdrücke Muster suchen Muster finden 2 zur Erinnerung Perl := Practical Extraction and Report Language Text-Dateien
MehrInduktive Definition
Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}
MehrPerl-Praxis. Reguläre Ausdrücke. Madis Rumming Jan Krüger.
Perl-Praxis Reguläre Ausdrücke Madis Rumming Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de Übersicht Reguläre Ausdrücke Muster suchen Muster finden Perl-Praxis Reguläre Ausdrücke 2/18 zur Erinnerung
MehrPerl-Praxis. Jörn Clausen
Perl-Praxis Reguläre Ausdrücke Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Reguläre Ausdrücke Muster suchen Muster finden Perl-Praxis Reguläre Ausdrücke 2/19 zur Erinnerung Perl := Practical
MehrEinstieg in die Informatik mit Java
1 / 17 Einstieg in die Informatik mit Java String Tokenizer Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick Tokenizer 2 StringTokenizer 3 Verwendung von String.split
Mehrgrep in Adobe InDesign
grep in Adobe InDesign Kurs 2, Version CS5 Kursleiter: Serge Paulus Unterlagen Version 2 vom Juni 2011 grep in Adobe InDesign Kurs 2, Version CS5 2 grep in InDesign grep in InDesign Es gibt mehrere Implementierungen
MehrZuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte
Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte while-statement erneut ausgeführt. Ist die Bedingung
Mehr3. Nur die mit diesen Regeln erzeugten Ausdrücke sind reguläre Ausdrücke über Σ.
H O C H S C H U L E University of Applied Sciences ZITTAU/GÖRLITZ Fachbereich Informatik Prof. Dr. Christian Wagenknecht Formale Sprachen und Automaten Übung: Reguläre Ausdrücke Zur Erinnerung: Reguläre
MehrSebastian Harl. 03. Oktober 2008
Reguläre Ausdrücke Sebastian Harl LUSC Workshop Weekend 2008 03. Oktober 2008 (?:[a-z0-9!#$%& *+/=?^_ { }~-]+(?:\.[a-z0-9!#$%& *+/=?^_ { }~-]+ )* "(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]
MehrGliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz
Gliederung Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg
Mehr3 Syntax von Programmiersprachen
3 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ) formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmiersprache Festlegung, wie Programme
Mehr3 Syntax von Programmiersprachen
3 Syntax von Programmiersprachen Syntax ( Lehre vom Satzbau ) formale Beschreibung des Aufbaus der Worte und Sätze, die zu einer Sprache gehören; im Falle einer Programmiersprache Festlegung, wie Programme
MehrArbeiten mit Regulären Ausdrücken. Annette Gerstenberg Würzburg, 16. März 2016 Workshop "Digitale Methoden" beim Forum Junge Romanistik
Arbeiten mit Regulären Ausdrücken Annette Gerstenberg Würzburg, 16. März 2016 Workshop "Digitale Methoden" beim Forum Junge Romanistik Warum RegEx? Ziele! Beispiel 1: Bereinigen eines Transkripts, Entfernen
Mehrjavascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.
javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl
MehrReguläre Ausdrücke - eine Einführung -
Ziel Reguläre Ausdrücke - eine Einführung - Andreas Romeyke Leipzig, Oktober/November 2002 Diese Präsentation ist eine kurze Einführung in die Welt der regulären Ausdrücke mit Schwerpunkt Perl. Die Präsentation
MehrSei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.
Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden
MehrStream EDitor SED und Reguläre Ausdrücke
Stream EDitor SED und Reguläre Ausdrücke ExactCODE New Thinking Store 11. Mai 2006 Was ist SED? sed steht für Stream EDitor eine Variante des Unix Editors ed und arbeitet auf Streams keine interaktiven
MehrPerlkurs WS 14/15 Reguläre Ausdrücke I
Perlkurs WS 14/15 Reguläre Ausdrücke I 1 Reguläre Ausdrücke Reguläre Ausdrücke mächtigtes Werkzeug von Perl, um nach Mustern (Gruppen von Zeichen) innerhalb von Text zu suchen z.b. in Protein- und DNA-Sequenzen
Mehr18.09.2010 / Software Freedom Day
18.09.2010 / Software Freedom Day xkcd Fortsetzung... Grundlegendes Begriff: = regular expressions kurz: regex Funktion: definieren flexible Muster, mit denen in Texten gesucht (und ersetzt) werden kann.
MehrEs gibt viele Programme, die mit regulären Ausdrücken arbeiten:
Reinald Cronauer 7. Februar 2001 Reguläre Ausdrücke 1 Einführung Reguläre Ausdrücke, kurz Regex genannt, erlauben das Suchen von Zeichenfolgen in große Texte. Ein regulärer Ausdruck ist aber flexibler
MehrPerl-Praxis. Jörn Clausen
Perl-Praxis Reguläre Ausdrücke Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Reguläre Ausdrücke Muster suchen Muster finden Perl-Praxis Reguläre Ausdrücke 2/19 zur Erinnerung Perl := Practical
Mehr2.2 Syntax, Semantik und Simulation
2.2 Syntax, Semantik und Simulation Ein Java Programm ist eine Folge von Buchstaben. Nicht jede Folge von Buchstaben ist ein korrektes Java Programm! Wie kann man alle korrekten Java Programme beschreiben?
Mehr17. Rekursion 2. Bau eines Taschenrechners, Ströme, Formale Grammatiken, Extended Backus Naur Form (EBNF), Parsen von Ausdrücken
564 17. Rekursion 2 Bau eines Taschenrechners, Ströme, Formale Grammatiken, Extended Backus Naur Form (EBNF), Parsen von Ausdrücken Motivation: Taschenrechner 565 Beispiel Eingabe: 3 + 5 Ausgabe: 8 Binäre
MehrFormale Sprachen. Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen. Rudolf Freund, Marian Kogler
Formale Sprachen Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen Rudolf Freund, Marian Kogler (http://xkcd.com/208) Gültige Adressen: Favoritenstraße 9, 1040 Wien Reumannplatz
MehrVersion 1.00h (13. 04. 2008)
Tutorial: Regex Version 1.00h (13. 04. 2008) Seite 1 von 15 Inhaltsverzeichnis 1. Was ist Regex?... 3 2. Verwendung von Regex in C#... 3 3. Funktionen von Regex... 3 4. Syntax von Regex... 4 4.1 Einfachstes
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrMichael Fitzgerald, Einstieg in Reguläre Ausdrücke, O Reilly, ISBN D3kjd3Di38lk323nnm
D3kjd3Di38lk323nnm Michael Fitzgerald, Einstieg in Reguläre Ausdrücke, O Reilly, ISBN 97838689994029783868999402 Inhalt Vorwort.... 1 Was ist ein regulärer Ausdruck?... 1 Ein Anfang mit Regexpal... 2 Eine
MehrDie Klasse MiniJava ist in der Datei MiniJava.java definiert:
Die Klasse MiniJava ist in der Datei MiniJava.java definiert: import javax.swing.joptionpane; import javax.swing.jframe; public class MiniJava { public static int read () { JFrame f = new JFrame (); String
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2017 20.04.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organisatorisches Literatur Motivation und Inhalt Kurzer
MehrReguläre Ausdrücke in Python
Wintersemester 2009/2010 1 Metazeichen, Quantoren, Gruppierung 2 findall, finditer 3 sub, subn 4 split 5 Match Objects 6 greedy 7 Gruppen-Namen 8 Assertions Reguläre Ausdrücke Reguläre Ausdrücke Reguläre
MehrPerl Regular Expressions in Base SAS
Webinar@Lunchtime Perl Regular Expressions in Base SAS Perl Reguläre Ausdrücke (Perl Regular Expressions) Einleitung Perl Regulare Ausdrücke beschreiben einen Text, der als Muster dient. In einem solchen
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrC. Ortseifen: Reguläre Ausdrücke
Inhalt Reguläre Ausdrücke mit SAS Einsatz der RX- und PRX-Funktionen Dr. Carina Ortseifen SAS-Treff am URZ 2. Dezember 2005 1. Einleitung 2. Aufbau der regulären Ausdrücke 3. Beispiele 4. Reguläre Ausdrücke
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 26. März 2009, c 2009 D.Rösner D.
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 16.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organizatorisches Literatur Motivation und Inhalt Kurzer
MehrUNIX Power Tools. Helferlein für den Alltag. Maximilian Haupt
UNIX Power Tools Helferlein für den Alltag Maximilian Haupt mhaupt@cs.uni-magdeburg.de Fakultät für Informatik, Otto-von-Guericke-Universität Magdeburg Magdeburg, 28. Oktober 2008 1 Reguläre Ausdrücke
MehrDieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.
Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,
MehrÜbersicht. Einführung in Perl Mustersuche III/ Datentypen II. Mehrzeiliges Matching (1) Mehrzeiliges Matching (2) chomp
Einführung in Perl Mustersuche III/ Datentypen II Universität Stuttgart Institut für maschinelle Sprachverarbeitung http://www.ims.uni-stuttgart.de/lehre/teaching/2003-ws/perl/home.html Heike.Zinsmeister@ims.uni-stuttgart.de
MehrPerl. Unser erstes Programm. Grundaufbau eines Programms
Programmierkurs für absolute Anfänger erste Perl-Programme Caren Brinckmann Sommersemester 2005 http://www.coli.uni-saarland.de/~cabr/teaching.php Perl Entwickler: Larry Wall backronyms: Practical Extraction
MehrMySQL Informationsgewinnung Teil 3. Stefan Maihack Dipl. Ing. (FH) Datum:
MySQL Informationsgewinnung Teil 3 Stefan Maihack Dipl. Ing. (FH) Datum: 18.6.2013 Mustervergleich Problem: Der gesuchte Datensatz ist nur teilweise bekannt Beispiel: alle Bücher zum Thema MySQL exakter
MehrTag 2 Repetitorium Informatik (Java)
Tag 2 Repetitorium Informatik (Java) Dozent: Daniela Novac Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Zeichen und
MehrKapitel IV Formale Sprachen und Grammatiken
Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist
MehrDie Klasse string Verfasser: Christian Bartl
Die Klasse string Verfasser: Index 1. Allgemein... 3 2. Eingabe von Strings... 3 3. Ausgabe von Strings... 4 4. Länge eines Strings... 4 5. Durchlaufen aller Zeichen eines Strings... 4 6. Kopieren von
MehrÜbersicht. Einführung in Perl Operatoren - Richtigstellung Mustersuche II. Richtigstellung Operatoren (2) Richtigstellung Operatoren (1)
IMS Einführung in Perl Operatoren - Richtigstellung Mustersuche II Universität Stuttgart Institut für maschinelle Sprachverarbeitung http://www.ims.uni-stuttgart.de/lehre/teaching/2003-ws/perl/home.html
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrWozu braucht man das? (1) Wozu braucht man das? (2)
Programmierkurs für absolute Anfänger Reguläre Ausdrücke / regular expressions Wozu braucht man das? (1) Caren Brinckmann Sommersemester 2005 http://www.coli.uni-saarland.de/~cabr/teaching.php Programmierkurs
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV 1 Wir betrachten die folgende Signatur
MehrSuchen & Ersetzen in umfangreichen Dokumentenbeständen
Suchen & Ersetzen in umfangreichen Dokumentenbeständen Dipl.-Math. Klaus Stolte Klaus.Stolte@tfk.de tekom-regionalgruppentreffen, München, 18.05.2010 Thematische Eingrenzung» Dokumentübergreifendes Suchen
MehrEinführung in Perl Übersicht Operatoren Mustersuche I Autoinkrement und Autodekrement Autoinkrement und Autodekrement Bsp
Übersicht Ergänzendes zu Operatoren Autoinkrement ++ und Autodekrement - logisches und && und oder Ordnung von Operatoren Reguläre Ausdrücke Diamantoperator Perl, 31.10.03 Mustersuche I 1 Autoinkrement
Mehr