Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a Einführung in Reguläre Ausdrücke.

Ähnliche Präsentationen


Präsentation zum Thema: "ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a Einführung in Reguläre Ausdrücke."—  Präsentation transkript:

1 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a Einführung in Reguläre Ausdrücke

2 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 2 Version 1.0a Was ist das Problem? Beispiel: –Überprüfen von HTML Dateien auf verdoppelte Worte (z.B. das das) –Auch über Zeilenenden hinweg –ohne Berücksichtigung von "White Space" –ohne Berücksichtigung von HTML Tags (z.B. sehr sehr....)

3 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 3 Version 1.0a Dateinamen "Wildcards" oder "Dateiglobs" –Beispiel (MS DOS): dir 10?s*.bat –Welche Dateien werden damit gefunden? Begrenzte Ausdrucksfähigkeit Limitierter Problemumfang nicht möglich: –Suche von Dateinamen beginnend mit ab gefolgt von 1 bis 4 beliebigen Zeichen und endend auf hx.txt

4 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 4 Version 1.0a Reguläre Ausdrücke Elemente Aufgebaut aus 2 Typen von Zeichen: –Metazeichen - Sonderzeichen wie z.B. "*" bei Dateinamen –Literale - alle anderen Zeichen Muster sollen durch Metazeichen erkannt werden. Ähnlich einer Programmiersprache –z.B. ^(From|Subject): –findet Zeilen, die mit From oder Subject beginnen und danacheinen : haben

5 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 5 Version 1.0a Reguläre Ausdrücke - Beispiel –s! ([0-9]+(\.[0-9]+){3}) ! $1 ! Sucht IP Adressen, die von den Tags und und –Allgemeines Problem: Ersetze Dies durch das –Ausdrücke werden aus Bausteinen aufgebaut

6 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 6 Version 1.0a Verwendung von Regulären Ausdrücken Textstücke in Dateien suchen Texteditoren (z.B.: UltraEdit) Unix Programm egrep –egrep optionen 'Muster' – egrep -ni '^to' x.txt y.txt Sucht in den Dateien x.txt, y.txt nach dem Muster 'to' am Anfang jeder Zeile ohne Berücksichtigung von Groß und Kleinschreibung und mit Ausgabe von Zeilennummern

7 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 7 Version 1.0a Verwendung von Regulären Ausdrücken (Fs.) Ergebnis: –x.txt:11:to test or verify the security of this system. During monitoring, information x.txt:17:to monitoring of this system. Unauthorized use may subject you to criminal x.txt:22:To be or not to be is the question y.txt:11:to test or verify the security of this system. During monitoring, information y.txt:17:to monitoring of this system. Unauthorized use may subject you to criminal y.txt:22:To be or not to be is the question

8 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 8 Version 1.0a Verwendung von Regulären Ausdrücken (Fs.) Metazeichen (speziell - Position): –^.. Zeilenanfang –$.. Zeilenende Literale: to Optionen: –i.. Case insensitiv –n.. Nummerierung der Zeilen Dateinamen x.txt y.txt

9 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 9 Version 1.0a Zeichenklassen [....] Suche nach Listen von Zeichen –oder Verknüpfung aller dieser Zeichen –beliebig viele zeichen Beispiel: 'B[iu]rma' –passt auf Birma und Burma Beispiel: '[rR]ot' –passt auf Rotwein, rot, Protest –aber nicht auf rRot

10 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 10 Version 1.0a Zeichenklassen (Fs.) Metazeichen in Liste: –'-' von bis Beispiel: ' ' erkennt die Header in HTML ' ' äquivalent zu vorigem Beispiel [a-z].. erkennt alle Kleinbuchstaben [a-z0-9A-Z].. mehrere Bereiche sind zulässig –Worauf passt '^ding$' oder '^$' oder '^' ? –'-' ist außerhalb der Zeichenklasse kein Metazeichen!

11 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 11 Version 1.0a Zeichenklassen (Fs.) Negierte Zeichenklassen –'[^...] –'[^1-6] erkennt alle Zeichen außer 1,2,3,4,5 oder 6 –'q[^u]'.. sucht ein 'q' das nicht von einem 'u' gefolgt ist wie z.B. Iraqi. –Warum wird Qantas oder eine Zeile mit Iraq nicht gefunden? '^' hat je nach Zusammenhang unterschiedliche Bedeutungen. (wie z.B. das Wort Hahn)

12 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 12 Version 1.0a Beliebiges Zeichen / Alternation Das Metazeichen '.' prüft auf ein beliebiges Zeichen Beispiel '03[-./]11[-./]2005' findet beliebige Schreibweisen ' ' findet auch ' ' –Was ist der Unterschied? Alternation - Metazeichen '|' Begrenzung der Reichweite mit ( ) –Beispiel: 'Jeffrey|Jeffery' oder 'Jeff(rey|ery)' oder 'Jeff(re|er)y' –'^From|Subject|Date:' oder '^(From|Subject|Date):' - Unterschied?

13 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 13 Version 1.0a Wortgrenzen / Optionale Elemente rot kommt auch in Protest vor Metassequenzen –'\<' Wortanfang (Anfang einer alphanumerischen Zeichenfolge) –'\>' Wortende (Ende einer alphanumerischen Zeichenfolge) Metazeichen '?' bedeutet optional –Position hinter dem gesuchten Zeichen –Was findet 'July? (fourth|4(th)?)

14 ADAT©2004 Dipl. - Ing. Walter SabinSeite: 14 Version 1.0a Wiederholungen '+' ein oder mehr des vorausgehenden (1.. n) '*' beliebig viel des vorausgehenden (0.. n) +,*,?.. Quantifier Beispiel: – {n,m} Explizites Minimum und Maximum –Beispiel: [a-zA-Z]{1,5} - Zeichenfolge aus 1 bis 5 Alphazeichen


Herunterladen ppt "ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a Einführung in Reguläre Ausdrücke."

Ähnliche Präsentationen


Google-Anzeigen