Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:automaten:regulaere_ausdruecke:start [06.03.2023 19:02] – [Sandkasten bei regex101.com] Frank Schiebel | faecher:informatik:oberstufe:automaten:regulaere_ausdruecke:start [06.03.2023 19:44] (aktuell) – [Sandkasten bei regex101.com] Frank Schiebel | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
Reguläre Sprachen können außer durch eine Grammatik auch durch sogenannten **reguläre Ausdrücke** beschrieben werden. | Reguläre Sprachen können außer durch eine Grammatik auch durch sogenannten **reguläre Ausdrücke** beschrieben werden. | ||
+ | |||
+ | ===== Grundlegende reguläre Operatoren ===== | ||
+ | |||
Reguläre Ausdrücke formuliert man mit regulären Operatoren. Die wichtigsten regulären Operatoren sind die folgenden: | Reguläre Ausdrücke formuliert man mit regulären Operatoren. Die wichtigsten regulären Operatoren sind die folgenden: | ||
Zeile 42: | Zeile 45: | ||
- | ===== Sandkasten bei regex101.com ===== | ||
+ | ===== Erweiterte reguläre Ausdrücke ===== | ||
+ | |||
Mit der " | Mit der " | ||
Ausdrücke schreiben. Bequemer, kürzer und übersichtlicher geht es, wenn man weitere Operatoren hinzunimmt, hier ist allerdings zu beachten, dass es unterschiedliche " | Ausdrücke schreiben. Bequemer, kürzer und übersichtlicher geht es, wenn man weitere Operatoren hinzunimmt, hier ist allerdings zu beachten, dass es unterschiedliche " | ||
Die meisten Programmiersprachen verfügen über Funktionen oder Bibliotheken, | Die meisten Programmiersprachen verfügen über Funktionen oder Bibliotheken, | ||
+ | |||
+ | Typische Erweiterungen umfassen die folgenden Elemente: | ||
+ | |||
+ | * Eckige Klammern fassen Zeichengruppen zusammen. Der Ausdruck '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Wenn man ein Zeichen suchen will, das eigentlich eine Spezialbedeutung hat, muss man es escapen, meist mit einem Backslash: '' | ||
+ | * Der Anfang einer Zeile kann durch durch ein '' | ||
+ | * Ein '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A2) === | ||
+ | |||
+ | Schreibe die Ausdrücke '' | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A3) === | ||
+ | |||
+ | Bearbeite das Tutorial unter https:// | ||
+ | |||
+ | |||
+ | |||
+ | ===== Sandkasten bei regex101.com ===== | ||
Auf der Seite https:// | Auf der Seite https:// | ||
Zeile 55: | Zeile 89: | ||
---- | ---- | ||
{{: | {{: | ||
- | === (A2) === | + | === (A4) === |
- | Öffne die Seite https:// | + | Öffne die Seite https:// |
Überprüfe jetzt deine Ergebnisse aus Aufgabe 1, indem du den regulären Ausdruck in die Eingabezeile " | Überprüfe jetzt deine Ergebnisse aus Aufgabe 1, indem du den regulären Ausdruck in die Eingabezeile " | ||
<callout type=" | <callout type=" | ||
- | Achtung: Weil die regulären Ausdrücke nach der Greedy Strategie angewandt werden, musst du deine regulärer Ausdruck inklusive Zeilenanfang ('' | + | Achtung: Weil die regulären Ausdrücke nach der Greedy Strategie angewandt werden, musst du deine regulärer Ausdruck inklusive Zeilenanfang ('' |
</ | </ | ||
+ | |||
---- | ---- | ||
{{: | {{: | ||
- | === (A3) Gültige Telefonnummern === | + | === (A5) Übungen === |
+ | |||
+ | Füge die etwa 180000 Worte, die in {{ : | ||
+ | |||
+ | Formuliere anschließend reguläre Ausdrücke, um die folgenden Wörter zu finden. Groß- und Kleinschreibung soll nicht berücksichtigt werden. | ||
+ | |||
+ | - Alle Wörter, die die Zeichenfolge '' | ||
+ | - Alle Wörter, die mit '' | ||
+ | - Alle Wörter, die mit '' | ||
+ | - Alle Wörter, die mit einem Vokal enden (36218 Treffer) | ||
+ | - Alle Wörter, die mit '' | ||
+ | - Alle Wörter, die mindestens zwei '' | ||
+ | - Alle Wörter, die ein doppeltes '' | ||
+ | - Alle Wörter, die aus sechs Buchstaben bestehen (6723 Treffer) | ||
+ | - Alle Wörter, die höchstens fünf Buchstaben lang sind (7019 Treffer) | ||
+ | - Alle Wörter, die mindestens 15 Buchstaben lang sind (38518 Treffer) | ||
+ | - Alle Wörter, die aus sechs Buchstaben bestehen und deren dritter Buchstabe ein '' | ||
+ | - Alle Wörter, die die Vokale '' | ||
+ | - Alle Wörter, die ein '' | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A6) Gültige Telefonnummern === | ||
+ | |||
+ | Es soll erkannt werden, ob ein String das | ||
+ | korrekte Format für eine Telefonnummer hat. | ||
+ | |||
+ | Für uns soll eine korrekte Telefonnummer zunächst folgende Kriterien aus folgenden Bestandteilen zusammengesetzt sein: | ||
+ | |||
+ | * Einer Vorwahl, die mit einer 0 beginnt und danach mindestens eine andere Ziffer enthält. | ||
+ | * Einem der folgenden Zeichen zur Abtrennung der Vorwahl: -, / oder Leerzeichen | ||
+ | * Einer mindestens einstelligen Zahl, die nicht mit 0 beginnt. | ||
+ | |||
+ | Erstelle einen regulären Ausdruck, der in der folgenden Liste von Ziffernfolgen alle korrekten Telefonnummern erkennt. | ||
+ | |||
+ | ++++ Liste | | ||
+ | <code telefonnummern.txt> | ||
+ | 07071-12345 | ||
+ | 17071-12345 | ||
+ | 07071 12345 | ||
+ | 07071 02345 | ||
+ | 0721 1654 | ||
+ | 171-8867524 | ||
+ | 07473/ | ||
+ | 0049-12345 | ||
+ | </ | ||
+ | |||
+ | ++++ | ||