Reguläre Ausdrücke IDE AUTUMN SCHOOL

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

Propädeutikum Programmierung in der Bioinformatik

Reguläre Ausdrücke mit Java

Digital Humanities: Übung 1

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

Proseminar UNIX Tools. Ferdinand Beyer

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

Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen. Suche mit regulären Ausdrücken. Dozentin: Wiebke Petersen

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

Perl-Praxis. Jörn Clausen

Einführung in die Computerlinguistik Pumpinglemma für reguläre Sprachen. Suche mit regulären Ausdrücken. Dozentin: Wiebke Petersen 17.5.

Python für Linguisten

Reguläre Ausdrücke Suchmuster, Pattern Matching

/ Vortrag Unix-AG

Perl-Praxis. Reguläre Ausdrücke. Madis Rumming Jan Krüger.

Perl-Praxis. Jörn Clausen

Reguläre Ausdrücke. Michael Jäger. 4. April 2017

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

3 Regular expressions

Formale Sprachen und Automaten

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

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

Suchen & Ersetzen in umfangreichen Dokumentenbeständen

Perl-Praxis. Madis Rumming Jan Krüger

Informationsextraktion Materialien zur Vorlesung

Digital Humanities: Übung 2

Perl-Praxis.

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

Reguläre Ausdrücke. Silke Trißl Wissensmanagement in der Bioinformatik

Ein- und Ausgabeumlenkung

Einstieg in die Informatik mit Java

Compilerbau. Übung 2. Prof. Johann-Christoph Freytag Dr. Klaus Ahrens Jörg Bachmann Fabian Fier Dorian Weber. 18. Mai 2016

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

Regexp Reguläre Ausdrücke

Informatik II, SS 2018

Übersicht. Einführung in Perl Operatoren - Richtigstellung Mustersuche II. Richtigstellung Operatoren (2) Richtigstellung Operatoren (1)

Perl-Praxis.

Reguläre Ausdrücke. AnPr

/ Software Freedom Day

Reguläre Ausdrücke. Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik

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

Programmierkurs Kapitel 4

UNIX Power Tools. Helferlein für den Alltag. Maximilian Haupt

Informatik II, SS 2016

Regular expressions for pros Reguläre Ausdrücke für Fortgeschrittene (Perl) Elena Neuburg

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

Informatik I. Informatik I Motivation Das Modul re Die Syntax regulärer Ausdrücke Weiteres zur re-schnittstelle

Wozu braucht man das? (1) Wozu braucht man das? (2)

Sebastian Harl. 03. Oktober 2008

Praktische Informatik I

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

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

Automaten, Spiele, und Logik

Abschnitt 17: Beispiel: Die Klasse String (Teil 2), das Interface Comparable<T>

Teil VII. Scientific Computing in Computer Science, Technische Universität München

Lexikalische Struktur von Fortran 95. Normierte Zeichensätze

Empfehlenswerte Referenzen

Pascal Schärli

Übersicht. Einführung in Perl Mustersuche III/ Datentypen II. Mehrzeiliges Matching (1) Mehrzeiliges Matching (2) chomp

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

Informatik II, SS 2014

Efficient Regexes. Pascal Zambito

Regular Expressions. Daniel Lutz Was ist eine Regular Expression?

Informatik II, SS 2014

Einstieg in die Informatik mit Java

Version 1.00h ( )

lex - Eine Einführung

Regexp Reguläre Ausdrücke

Perl Regular Expressions in Base SAS

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

Informatik II, SS 2018

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

Familie von Zeichenkettensuchprogrammen "grep", "egrep", "fgrep"

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

Sprachen sind durch folgenden Aufbau gekennzeichnet:

Schritt für Schritt Reguläre Ausdrücke verstehen. Einstieg in. Reguläre Ausdrücke. Michael Fitzgerald O REILLY. Übersetzung von Thomas Demmig

Unterschiede in Dateien mit diff

Version 2.00 ( )

Einführung in die Computerlinguistik Einführung in Python (2)

Suchen in Texten. Sie wissen wie in einem Text gesucht werden kann Sie wissen wie Suchmaschinen arbeiten Sie können mit Regex in Java umgehen

1.103 Regular Expressions - Reguläre Ausdrücke

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

LinuxUser 08/2002: Reguläre Ausdrücke

Der Boyer-Moore Algorithmus

Elementare Unix-Befehle 11

Elementare Konzepte von

Programmieren lernen mit Groovy Strings, GStrings, Textverarbeitung

Summer School Digitale Edition

Lexikalische Programmanalyse der Scanner

O'REILLY 8 Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo. Reguläre Ausdrücke Kochbuch. Jan Goyvaerts & Steven Levithan

Effiziente Algorithmen 2

Dateisystem 2, Suchen & Finden

Einstieg in die Informatik mit Java

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

Algorithmische Bioinformatik 1

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen.

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

Praktikum. SEP: Java-Programmierung SS Trie: Häufige Fragen. Thomas Bunk und Karlheinz Friedberger

Transkript:

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. 3

Was sind Reguläre Ausdrücke? Man kann sie benutzen, um Zeichenketten zu manipulieren oder validieren. 4

Was sind Reguläre Ausdrücke? Viele Texteditoren (auch oxygen) verarbeiten reguläre Ausdrücke in der Funktion Suchen und Ersetzen. 5

Pattern Matching Das ganze funktioniert via Pattern Matching. 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. So ist es zum Beispiel möglich, alle Wörter in einem Text zu finden, die mit S beginnen und auf D enden, ohne die dazwischen liegenden Buchstaben oder deren Anzahl explizit angeben zu müssen. 6

Beschreibung einer Menge von Zeichenketten a {"a"} 7

Beschreibung einer Menge von Zeichenketten a+ {"a", "aa", "aaa", "aaaa", } 8

Beschreibung einer Menge von Zeichenketten B(irn (an){2})e {"Birne", "Banane"} 9

Reguläre Ausdrücke Übersicht Standardzeichen Buchstaben: A bis Z, a bis z Ziffern: 0 bis 9 Symbole:!, @, #, %, &, usw. Reservierte Zeichen ( ) [ ] \ ^ $.? * + Um reservierte Zeichen in einem String zu suchen, muss man sie mit einem Backslash (\) maskieren. 10

Eine gute RegEx-Testseite http://regex101.com 11

Zeichenklassen [Aa] [^a] ( ^ am Anfang einer Zeichenklasse negiert selbige) [A-Z] (Bindestriche sind Indikator für einen Bereich) [0-9] [A-Za-z0-9] [0-24] matcht 0, 1, 2 und 4 ^ ist ein reserviertes Zeichen und kann verschiedene Bedeutungen haben. [^bgr] matcht alles außer b, g, r [b^gr] matcht nur b, ^, g, r 12

Vordefinierte Zeichenklassen \d (digit) = [0-9] \D = [^\d] \w (word character) = ein Buchstabe, eine Ziffer oder der Unterstrich, also [a-za-z_0-9] (und je nach Implementation evtl. auch nicht-lateinische Buchstaben, z. B. Umlaute) \W = [^\w] \s (whitespace) = Space, Zeilenumbrüche, Tabulatorzeichen, vertikaler Whitespace (\v) \S = [^\s]. = alle Zeichen bis auf Zeilenumbrüche 13

Pipes Eine Pipe matcht entweder den linken oder rechten Teil des Musters rot grün Die Ampel ist (rot grün). 14

Pipes Eine Pipe matcht entweder den linken oder rechten Teil des Musters rot grün Die Ampel ist (rot grün). Capturing Group (zum Abgrenzen und Gruppieren eines Teils des regulären Ausdrucks) 15

Quantoren {n} = Muster darf genau n mal vorkommen {n,m} = Muster darf mindestens n Mal und höchstens m Mal vorkommen. {n,} = Muster darf mindestens n Mal vorkommen. {0,m} = Muster darf höchstens m Mal vorkommen. * = {0,} + = {1,}? = {0,1} 16

Sonderzeichen ^ = Anfang der Zeichenkette (oder des Zeilenanfangs) $ = Ende der Zeichenkette (oder des Zeilenendes) \b = Wortgrenze 17

Flags Flags stehen am Ende des regulären Ausdrucks, getrennt vom restlichen Teil mit einem / i = case-insensitive s = Punkt frisst auch Zeilenumbrüche m = Die Zeichen ^ und $ matchen auch auf Zeilenanfänge bzw. - enden. Ohne den Modifikator passen sie nur auf Anfang und Ende der gesamten Zeichenkette.) g = Finde alle Vorkommnisse, nicht nur das erste Ergebnis in der Zeichenkette 18

Cheatsheet http://www.cbs.dtu.dk/courses/27610/regular-expressions-cheatsheet-v2.pdf 19

Übung 1 Trimme im Beispielcorpus den Text in <persname> mit <forename> und <surname> Kindern. Bsp.: Boeckh_Plan.xml (aus dem Corpus Berliner Intellektuelle ) <respstmt> <resp>edited by</resp> <persname ref="#sabine.seifert"> <forename>sabine</forename> <surname>seifert</surname> </persname> </respstmt> Trimmen = Entfernen von Whitespaces am Anfang und Ende einer Zeichenkette Whitespaces = Leerzeichen, Tabulatorzeichen, Zeilenumbrüche 20

Übung 2 Finde in der Datei Regex Übung Daten.txt valide Daten aus dem 20. und dem 21. Jahrhundert. (Hinweis: Auf valide Tag-Monat-Kombinationen muss nicht geprüft werden. Daten wie der 30. Februar dürfen enthalten sein.) 21

Übung 2 Finde in der Datei Regex Übung Daten.txt valide Daten aus dem 20. und dem 21. Jahrhundert. Mögliche Lösung: ^(0?[1-9] [12][0-9] 3[01])\.(0?[1-9] 1[012])\.(19 20)\d\d 22

Tipp 1 Oftmals führen viele verschiedene Wege ans Ziel. Dabei gibt es meistens allgemeinere (einfachere) und genauere (kompliziertere) Lösung. 23

Tipp 2 Bei speziellen Problemen hilft oftmals googeln. 24

Vielen Dank für heute. Bis morgen! 25