Reguläre Ausdrücke. Reguläre Ausdrücke = Regular Expressions = reg.exp./regexp/regexp = RE

Ähnliche Dokumente
Einführung in die Computerlinguistik Suche mit regulären Ausdrücken

Formale Sprachen und Automaten

1.103 Regular Expressions - Reguläre Ausdrücke

b{2} [^b]{2} Reguläre Ausdrücke als Hilfsmittel der Textanalyse Manuel Raaf Bayerische Akademie der Wissenschaften, IT-Referat

/ Vortrag Unix-AG

Regular Expressions. Daniel Lutz Was ist eine Regular Expression?

Webengineering. Reguläre Ausdrücke. Dienstag, 2. Juli 13

Einführung in PERL 2 Reguläre Ausdrücke

/ Software Freedom Day

Programmierkurs Kapitel 4

Reguläre Ausdrücke in Oracle 10g Waren Queries bis jetzt irregulär?

Reguläre Ausdrücke Suchmuster, Pattern Matching

Formale Sprachen. Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen. Rudolf Freund, Marian Kogler

Einführung in Perl Übersicht Operatoren Mustersuche I Autoinkrement und Autodekrement Autoinkrement und Autodekrement Bsp

Reguläre Ausdrücke. Felix Döring, Felix Wittwer 14. November Python-Kurs

Suchen und Ersetzen mit Platzhaltern

Anwendung von (Perl) Regular Expressions für die Mustersuche in Strings

Arbeiten mit Regulären Ausdrücken. Annette Gerstenberg Würzburg, 16. März 2016 Workshop "Digitale Methoden" beim Forum Junge Romanistik

Ferdinand Beyer. 1 Allgemeines Beschreibung Bezeichnungen Einsatzgebiete in UNIX-Tools Notationsarten...

Wiederholung. Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q,

Theoretische Informatik. Reguläre Sprachen und Automaten

Sebastian Harl. 03. Oktober 2008

GREP. Reguläre Ausdrücke. GREP Hardcore. Syntax. Ersetzen Suchen. Look Around. 20. April 2012 Pubkon 2013

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen.

Version 2.00 ( )

Version 1.00h ( )

Informationsextraktion Materialien zur Vorlesung

C. Ortseifen: Reguläre Ausdrücke

SelfLinux Reguläre Ausdrücke

Regexp Reguläre Ausdrücke

Reguläre Ausdrücke mit Java

Einleitung. liefert Ihnen alle Dateien, die mit.txt enden. Oder dir bericht??.txt

Einstieg in die Informatik mit Java

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Stream EDitor SED und Reguläre Ausdrücke

Dateisystem 1, Suchen & Finden

Reguläre Ausdrücke. Einstieg in PHP 5.4 und MySQL 5.5. Zusatzkapitel zum Buch: Thomas Theis ISBN

Reguläre Ausdrücke - eine Einführung -

Empfehlenswerte Referenzen

1 Schöner suchen und ersetzen mit GREP

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

WS 2009/

Reguläre Ausdrücke in C#

Ein- und Ausgabeumlenkung

Dateisystem 2, Suchen & Finden

Korpuslinguistik IDS-Korpora und COSMAS II

Reguläre Ausdrücke in Oracle 10g Waren Queries bis jetzt irregulär? Dr. Martin Wunderli Trivadis AG

Perlkurs WS 14/15 Reguläre Ausdrücke I

grep in Adobe InDesign

3. Nur die mit diesen Regeln erzeugten Ausdrücke sind reguläre Ausdrücke über Σ.

Es gibt viele Programme, die mit regulären Ausdrücken arbeiten:

Blockseminar Einführung in die Korpuslinguistik Seminarleitung: Yvonne Krämer, M.A. Das Korpus. und seine Aufbereitung

Grundlagen der Theoretischen Informatik

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

Heiko Baur 10. November 2006

AUFGABE 1: REGULÄRE AUSDRÜCKE (5 PUNKTE)

1.7 Anwendung/Expansion und Substition

Korpuslinguistik Annis 3 -Korpussuchtool Suchen in tief annotierten Korpora

Erste Schritte in TUSTEP

Michael Fitzgerald, Einstieg in Reguläre Ausdrücke, O Reilly, ISBN D3kjd3Di38lk323nnm

Eine Beschreibung des Programms und der dahinter stehenden Philosophie.

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs

Lexikalische Programmanalyse der Scanner

Reguläre Ausdrücke: Beschreibung und Anwendung

Fischerprüfung Online Registrierungsanleitung für Anwender. LfL-Information

Theorie der Informatik

9303: gibt es nichts zu <lachen>, meine Damen und

Oracle 10g Einführung

Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz

Prinzipien der Softwareentwicklung S. Strahringer

Grundkurs Teil 2. Senioren-Computerclub-Dulach Bienleinstorstr. 22 Dienstags von 10:00 bis 12:00 Uhr G.B.

Fachmagazinartikel. Module Leader: Tobias Schmidt Staffing: Word Count: Michaela Duhr, Benedikt Vogeler, Paul Stüssel (9.

Eine kurze Einführung in Vim

Tutorium Reguläre Ausdrücke/Code Munger

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Formale Sprachen, reguläre und kontextfreie Grammatiken

Arbeitshilfe für fortlaufende Ressourcen RDA Erscheinungsdatum

Benutzung der Manpage, Shell Teil 3

Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen.

LWDKIP LWDKIP Zugang Okt

Programmieren in Java

RL

Syntax von Programmiersprachen

Wie finde ich schnell relevante Literatur?

Reguläre Ausdrücke 1 / 10. Doing Web Apps. Reguläre Ausdrücke. Letzte Änderung: Version: 0.6 Copyright: Alle Rechte vorbehalten

Kapitel 2. Methoden zur Beschreibung von Syntax

Interrupt: Passwort-Checker Arbeitsblatt

Zusammenfassung Informatik

10 Reguläre Ausdrücke

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 3 Shell-Grundlagen

Elementare Konzepte von

Reguläre Ausdrücke. Prof.Dr.Christian Wagenknecht mit Beiträgen von Herrn Dr.Michael Hielscher

Inhalte der Vorlesung. 3. Der Textstrom-Editor sed. 3. Der Textstrom-Editor sed. Grundprinzip eines Textstrom-Editors

Einführung in die Informatik Turing Machines

Teil 3: Syntax-Diagramme

Reguläre Ausdrücke in Python

Programmierstile in C

9 Theoretische Informatik und Compilerbau

Benutzerhandbuch Archivierung

Transkript:

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 Ausdruck beschreibt ein bestimmtes Textmuster in einer abgekürzten oder unterspezifizierten Weise. Dazu sind eine Reihe von Metazeichen definiert. (Lemnitzer/Zinsmeister 2010: 89) Mit regulären Ausdrücken lassen sich Variationen erfassen und komplexe Suchanfragen formulieren. 1

Metazeichen Zeichenklassen [abc] [a-z] [a-za-z] [a-zöüäß0-9] Findet eines der Zeichen a,b,c Findet einen beliebigen Kleinbuchstaben Findet einen Klein- oder Großbuchstaben von a/a bis z/z Findet einen beliebigen Kleinbuchstaben (inklusive Umlaute) oder eine Ziffer Metazeichen Platzhalter/Wildcard. Steht für ein beliebiges Zeichen Alternation Gruppierung () Negation ^ Steht für alternative Muster Fasst Inhalte zusammen, markiert den Einzugsbereich Schließt Zeichen aus 2

Metazeichen Quantoren/Operatoren? + * {n,m} Voranstehendes Zeichen kommt 0- oder 1-mal vor Voranstehendes Zeichen kommt mindestens 1-mal bis -mal vor Voranstehendes Zeichen kommt 0-mal bis -mal vor Voranstehendes Zeichen kommt n- bis m-mal vor Metazeichen Spezielle Zeichen \r \n \t \s bzw. \S \w bzw. \W \d bzw. \D Zeilenschaltung (r: Mac; n: Unix) Ist man nicht sicher, welche Art der Zeilenschaltung im Dokument vorhanden ist, macht man einfach eine Klasse daraus: [\r\n] Tabulator Jede Art von Leerzeichen bzw. jede Art von Nicht-Leerzeichen (Tabulator, Zeilenschaltung ) Jeder Wort -Buchstabe bzw. Nicht- Wort -Buchstabe (also a-z, A-Z, 0-9, _ und wenige mehr) Zahlen bzw. Nicht-Zahlen 3

Escape/Maskieren Will man innerhalb eines regulären Ausdrucks nach Zeichen suchen, die auch als Metazeichen definiert sind, so maskiert man das entsprechende Zeichen mit einem Backslash. Beispiele:. Findet eine beliebiges Zeichen \. Findet das Zeichen. ( Gruppiert die nachfolgenden Zeichen \( Findet öffnende Klammern Beispielabfragen Tokio oder Tokyo? Alternation: (Tokio Tokyo) oder Tok(i y)o Zeichenklasse: Tok[iy]o Fiktive Variante Tokiio Tok[ii]o oder Tok[iii]o oder Tok[i ii]o? Gibt es ein Wort, das mit X, Y oder Z beginnt und nur 2 a) (X Y Z). b) [XYZ]. oder 3 Buchstaben hat? a) (X Y Z).. b) [XYZ].. c) (X Y Z).? d)[xyz].? 4

Beispielabfragen Welche Wörter enden auf das Suffix lich?.+(lich) Wie finde ich zusätzlich emphatische Varianten? z.b. Tor und Toooor und TOOOORRRR (T t)(o O)+(r R)+ Beispielabfragen http:\/\/(www\.)?.+?\.com Dieses Suchmuster findet Internetadressen der Art http://www.webpage.com \d\d\d\d-\d+-\d+ Dieses Suchmuster findet Datumsangaben der Art 2015-07-10 5

Bis wohin wird gesucht? Bei TIGERSearch und CQP bezieht sich das Suchmuster auf ein Wort. Syntax und Mächtigkeit können variieren finden auch in Programmiersprachen, diversen Werkzeugen oder beim Suchen & Ersetzen ggf. mit unterschiedlicher Syntax und Mächtigkeit Anwendung. Pattern matching Den Abgleich des Musters mit dem vorliegenden Material nennt man pattern matching. Wichtig ist beim Formulieren von regulären Ausdrücken, dass man sich nicht nur fragt, mit welchem Muster finde ich, was ich suche, sondern vor allem auch: Was findet dieses Muster außerdem alles und wie muss es ggf. eingeschränkt werden? (Perkuhn/Keibel/Kupietz 2012: 36) Intendierte Tatsächliche Treffermenge Precision und Recall RegExp in der CWB Über Query Mode = Simple Query:. ist kein Metazeichen, stattdessen steht? für ein beliebiges Zeichen Suche nach speziellen Zeichen (z.b. /d) ist möglich Alternation und Zeichenklassen werden folgendermaßen ausgedrückt: [s,z] = s oder z [u,] = mit oder ohne u [this,that] = this oder that z.b. color/colour: colo[u,]r Siehe: CQPweb tutorial # 03: wildcards in queries 6

RegExp in der CWB Über Query Mode = CQP syntax: Die Metazeichen entsprechen (größtenteils) den eingangs erwähnten. Suchabfragen werden wie folgt strukturiert: [word= ] [lemma= ] [pos= ] Innerhalb der wird die Suchanfrage ggf. mit regulären Ausdrücken spezifiziert. Weiterführende Literatur http://www.regular-expressions.info/quickstart.html Wikipedia: Regulärer Ausdruck http://regexp-evaluator.de/tutorial/ http://www.bubenhofer.com/korpuslinguistik/kurs/ RegExp 7

Aufgaben/Übungen der Socken oder die Socke? der oder das Virus? Parfüm oder Parfum? das Joghurt bzw. Yoghurt oder der Joghurt bzw. Yoghurt? Lösungen z.b.: [word="(der die)"] [word="sock(e en)"] z.b.: [word="(der das)"] [word="virus"] z.b.: [word="parf(u ü)m"] z.b.: [word="(der das)"] [word="[yj]o(g gh)urt"] 8

Aufgaben/Übungen Finden Sie die 5 häufigsten attributiven Adjektive und die 5 häufigsten adverbialen bzw. prädikativen Adjektive die auf bar enden. Welche Arten von Zahlenangaben finden sich in Zeitungstexten? Welche Zahl ist die häufigste und welche Art von Zahlenangabe ist die häufigste? Finden Sie Wörter mit Vokalen, die sich mindestens doppeln. Lösungen z.b.: [lemma=".+(bar)" & pos="adja"] [lemma=".+(bar)" & pos="adjd"] z.b.: \d+ z.b.: [word=".+(a{2,5}) (o{2,5}) (e{2,5}) (i{2,5}) (u{2,5}).+"] 9