Benutzer-Werkzeuge

Webseiten-Werkzeuge


neuerlehrplan:klasse10:regulaeresprachen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
neuerlehrplan:klasse10:regulaeresprachen [2025/10/24 11:19] – angelegt lutzneuerlehrplan:klasse10:regulaeresprachen [2025/10/24 11:39] (aktuell) – [Reguläre Sprachen] lutz
Zeile 14: Zeile 14:
 erforderlich, welche man als Alphabet auffassen der **formalen Sprache** "IP-Adresse" auffassen kann. "IP-Adressen" ist dabei eine Teilmenge der Menge , also der Menge aller Worte, die sich mit  beschreiben lassen. erforderlich, welche man als Alphabet auffassen der **formalen Sprache** "IP-Adresse" auffassen kann. "IP-Adressen" ist dabei eine Teilmenge der Menge , also der Menge aller Worte, die sich mit  beschreiben lassen.
  
-  - **Möglichkeit: in Worten**\\+**1. Möglichkeit: in Worten**\\
 Eine IP-Adresse besteht aus vier ein bis dreistelligen Zahlen im Bereich von 0 bis 255, die jeweils durch einen Punkt getrennt sind. Eine IP-Adresse besteht aus vier ein bis dreistelligen Zahlen im Bereich von 0 bis 255, die jeweils durch einen Punkt getrennt sind.
-  - **Möglichkeit: durch einen regulären Ausdruck** 
  
 +**2. Möglichkeit: durch einen regulären Ausdruck**
 +
 +<WRAP center round box 60%>
 **Reguläre Ausdrücke (RegEx)** sind eine leistungsfähige Methode, um Texte zu durchsuchen, zu analysieren und bestimmte Muster zu finden. Sie sind in der Informatik eine Möglichkeit, einen Text nach bestimmten Ausdrücken zu durchsuchen. **Reguläre Ausdrücke (RegEx)** sind eine leistungsfähige Methode, um Texte zu durchsuchen, zu analysieren und bestimmte Muster zu finden. Sie sind in der Informatik eine Möglichkeit, einen Text nach bestimmten Ausdrücken zu durchsuchen.
 +</WRAP>
 +
 +
 +
 +
  
 ==== Kurzreferenz für reguläre Ausdrücke ==== ==== Kurzreferenz für reguläre Ausdrücke ====
Zeile 56: Zeile 63:
 ^Ausdruck          ^Bedeutung                                                  ^Beispieltext                                     ^Treffer             ^^^ ^Ausdruck          ^Bedeutung                                                  ^Beispieltext                                     ^Treffer             ^^^
 |''%%(abc)%%''     |**Gruppe** – fasst Zeichen zu einer Einheit zusammen       |''%%abcabc%%'' mit ''%%(abc)%%''                 |„abc“ (erste Gruppe)||| |''%%(abc)%%''     |**Gruppe** – fasst Zeichen zu einer Einheit zusammen       |''%%abcabc%%'' mit ''%%(abc)%%''                 |„abc“ (erste Gruppe)|||
-|''%%A \| B%%''    |**Alternative** – findet **A oder B**                      |''%%Katze Hund Maus%%'' mit ''%%Katze \| Hund%%''|„Katze“, „Hund“     |||+|''%%A | B%%''    |**Alternative** – findet **A oder B**                      |''%%Katze Hund Maus%%'' mit ''%%Katze | Hund%%''|„Katze“, „Hund“     |||
 |''%%(ab){2}%%''   |**Wiederholung einer Gruppe** – zweimal „ab“ hintereinander|''%%ababc%%''                                    |„abab“              ||| |''%%(ab){2}%%''   |**Wiederholung einer Gruppe** – zweimal „ab“ hintereinander|''%%ababc%%''                                    |„abab“              |||
 |''%%(?:abc)%%''   |**Nicht-speichernde Gruppe** – gruppiert ohne Nummerierung |''%%(?:abc){2}%%'' auf ''%%abcabc%%''            |„abcabc“            ||| |''%%(?:abc)%%''   |**Nicht-speichernde Gruppe** – gruppiert ohne Nummerierung |''%%(?:abc){2}%%'' auf ''%%abcabc%%''            |„abcabc“            |||
Zeile 65: Zeile 72:
 In den folgenden Pythonprogrammen kannst du die Beispiele aus den Referenztabellen testen. In den folgenden Pythonprogrammen kannst du die Beispiele aus den Referenztabellen testen.
  
-<code language-python>+<code python>
 #Grundlagen #Grundlagen
 #Der reguläre Ausdruck muss in einem sogenannten Raw-String r"" stehen. #Der reguläre Ausdruck muss in einem sogenannten Raw-String r"" stehen.
Zeile 77: Zeile 84:
 </code> </code>
  
-<code language-python>+<code python>
 #Zeichenklassen #Zeichenklassen
 import re import re
Zeile 90: Zeile 97:
 </code> </code>
  
-<code language-python>+<code python>
 #Wiederholungen #Wiederholungen
 import re import re
Zeile 105: Zeile 112:
 </code> </code>
  
-<code language-python>+<code python>
 #Positionen #Positionen
 import re import re
Zeile 114: Zeile 121:
 </code> </code>
  
-<code language-python>+<code python>
 #Wiederholungen #Wiederholungen
 import re import re
Zeile 133: Zeile 140:
 Entwirf einen regulären Ausdruck, der drei ein- bis dreistellige Zahlen durch einen Punkt trennt! Wende den Ausdruck im nachfolgenden Programmauf den Text an! Entwirf einen regulären Ausdruck, der drei ein- bis dreistellige Zahlen durch einen Punkt trennt! Wende den Ausdruck im nachfolgenden Programmauf den Text an!
  
-<code language-python>+<code python>
 # Aufgabe 1 # Aufgabe 1
 import re import re
Zeile 152: Zeile 159:
 Verbessere deinen Ausdruck von Aufgabe 1 so, dass der IP-Adressen erkennt! Verbessere deinen Ausdruck von Aufgabe 1 so, dass der IP-Adressen erkennt!
  
-<code language-python>+<code python>
 # Aufgabe 2 # Aufgabe 2
 import re import re
Zeile 177: Zeile 184:
 ===== Reguläre Sprachen ===== ===== Reguläre Sprachen =====
  
-Eine **reguläre Sprache** ist eine Menge von Wörtern, die man durch einfache, sich wiederholende Muster (Reguläre Ausdrücke) beschreiben kann.+<WRAP center round box 60%> 
 +Eine **reguläre Sprache** ist eine Menge von Wörtern über ein Alphabet $A$, die man durch einfache, sich wiederholende Muster (Reguläre Ausdrücke) beschreiben kann. 
 +</WRAP> 
 + 
 + 
  
 Reguläre Sprachen haben in der Informatik eine besondere Bedeutung, z.B. beim Compilerbau. In Klasse 12 werden wir den Begriff fachlich exakt definieren. Reguläre Sprachen haben in der Informatik eine besondere Bedeutung, z.B. beim Compilerbau. In Klasse 12 werden wir den Begriff fachlich exakt definieren.
neuerlehrplan/klasse10/regulaeresprachen.1761297560.txt.gz · Zuletzt geändert: von lutz