Regular Expressions – re.match & re.search
- Home
- Tutorials
- Python
- Werde zum fortgeschrittenen Python Entwickler in 4 Wochen
- Regular Expressions – re.match & re.search
Dieses Video ist nicht verfügbar
Dieses Video steht nur eingeschriebenen Nutzern zur Verfügung.
Jetzt Kurs kaufenWikipedia
Ein regulärer Ausdruck (englisch regular expression, Abkürzung RegExp oder Regex) ist in der theoretischen Informatik eine Zeichenkette, die der Beschreibung von Mengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient. Reguläre Ausdrücke finden vor allem in der Softwareentwicklung Verwendung. Neben Implementierungen in vielen Programmiersprachen verfügen auch viele Texteditoren über reguläre Ausdrücke in der Funktion ?Suchen und Ersetzen?. 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. So ist es beispielsweise möglich, alle Wörter aus einer Wortliste herauszusuchen, die mit S beginnen und auf D enden ? ohne die dazwischenliegenden Buchstaben oder deren Anzahl explizit vorgeben zu müssen.
Der Begriff des regulären Ausdrucks geht im Wesentlichen auf den Mathematiker Stephen Kleene zurück. Dieser benutzte eine fast identische Notation, die er ?reguläre Mengen? nannte.[1]
Kurzgefasst: Regex ermöglichen uns in kurzer Zeit möglichst effizient Texte zu filtern.
Beispiel für die Regular Expressions in Python - search Funktion
# List der Begriffe die wir suchen
begriffe = [ 'beg1', 'beg2' ]
# Text der untersucht werden soll
text = 'dies ist ein String mit beg1, aber es hat keinen anderen beg.'
for begriff in begriffe:
print 'Suche nach "%s" in: n"%s n"' % (begriff, text),
#Schauen ob wir etwas gefunden haben
if re.search(begriff, text):
print 'Ein Begriff ist vorhanden. n'
else:
print 'Keinen Begriff gefunden.n'
Ausgabe:
Suche nach "beg1" in:
"dies ist ein String mit beg1, aber es hat keinen anderen beg.
" Ein Begriff ist vorhanden.
Suche nach "beg2" in:
"dies ist ein String mit beg1, aber es hat keinen anderen beg.
" Keinen Begriff gefunden.
Wir sehen also, wir können nach beliebig vielen Begriffen in einem bestimmten Text suchen.
Die re.search() Funktion kann jedoch mehr als einfach nur rausfinden ob ein Begriff vorhanden war, oder nicht. Es gibt einen "Match" zurück. Diesen Match können wir wiederrum verwenden, um herauszufinden wo dieser match war. Also quasi an welcher Position er sich befindet.
Beispiel für die Regular Expressions in Python - Match
import re
# Begriffe den wir suchen
begriff = 'beg1'
# Text der untersucht werden soll
text = 'dies ist ein String mit beg1, aber es hat keinen anderen beg.'
# nach Begriff suchen
match = re.search(begriff, text)
# Startposition des Begriffes ausgeben
print match.start()
# Endposition des Begriffes ausgeben
print match.end()
Ausgabe:
24
28
Das mag momentan noch keinen so großen Nutzen bringen, je komplexer unsere Programme sind, desto wahrscheinlich wird es jedoch, dass wir das verwenden werden.
Im nächsten Teil des Kurses schauen wir uns an, wie wir Regular Expressions splitten (aufteilen) können.
Werde zum fortgeschrittenen Python Entwickler in 4 Wochen
-
Kursübersicht
-
Lektion1.1
-
Lektion1.2
-
Lektion1.3
-
-
Python Installation
-
Lektion2.1
-
Lektion2.2
-
Lektion2.3
-
-
Python Datenstrukturen
-
Lektion3.1
-
Lektion3.2QUIZ: Zahlen und Variablen
-
Lektion3.3
-
Lektion3.4QUIZ: Mathematische Operatoren
-
Lektion3.5
-
Lektion3.6QUIZ: Strings
-
Lektion3.7
-
Lektion3.8
-
Lektion3.9
-
Lektion3.10QUIZ: Listen
-
Lektion3.11
-
Lektion3.12QUIZ: Sets
-
Lektion3.13
-
Lektion3.14QUIZ: Tuples
-
Lektion3.15
-
Lektion3.16QUIZ: Dictionaries
-
Lektion3.17
-
Lektion3.18QUIZ: Booleans und logische Operatoren
-
-
Anweisungen und Schleifen
-
Lektion4.1
-
Lektion4.2QUIZ: If- und Else-Statements
-
Lektion4.3
-
Lektion4.4
-
Lektion4.5
-
Lektion4.6
-
Lektion4.7
-
Lektion4.8QUIZ: Schleifen
-
-
Funktionen und Module
-
Lektion5.1
-
Lektion5.2
-
Lektion5.3
-
Lektion5.4Übungsaufgabe zu Benutzereingabe
-
Lektion5.5
-
Lektion5.6
-
Lektion5.7
-
Lektion5.8
-
Lektion5.9
-
Lektion5.10QUIZ: Funktionen
-
-
Mit Dateien arbeiten
-
Lektion6.1
-
Lektion6.2
-
-
Regular Expressions
-
Lektion7.1
-
Lektion7.2
-
-
Objekt Orientierte Programmierung Grundlagen
-
Lektion8.1
-
Lektion8.2
-
Lektion8.3
-
Lektion8.4QUIZ: Klassen und Objekte
-
Lektion8.5
-
Lektion8.6QUIZ: Vererbung
-
-
Eingebaute Funktionen
-
Lektion9.1
-
Lektion9.2
-
Lektion9.3
-
Lektion9.4
-
Lektion9.5
-
Lektion9.6Übungsaufgabe Primzahlen bestimmen
-
Lektion9.7
-
Lektion9.8
-
-
Dekoratoren
-
Lektion10.1
-
Lektion10.2
-
-
Fortgeschrittene Objekte und Datenstrukturen
-
Lektion11.1
-
Lektion11.2
-
Lektion11.3
-
Lektion11.4Übungsaugsaufgabe Warteschlange
-
Lektion11.5
-
Lektion11.6
-
Lektion11.7QUIZ: Teste dein bisheriges Wissen
-
-
Fortgeschrittene Module in Python
-
Lektion12.1
-
Lektion12.2
-
Lektion12.3
-
Lektion12.4
-
Lektion12.5
-
Lektion12.6
-
-
GUI - Benutzeroberfläche
-
Lektion13.1
-
Lektion13.2
-
Lektion13.3
-
Lektion13.4
-
Lektion13.5
-
Lektion13.6
-
Lektion13.7
-
Lektion13.8
-
Lektion13.9
-
Lektion13.10Übungsaufgabe zu GUI und Canvas
-
Lektion13.11
-