In Python können reguläre Ausdrücke verwendet werden, um Texte zu durchsuchen oder zu manipulieren. Sie können nach bestimmten Mustern in einem String suchen, diesen auf Teile aufteilen, Teile ersetzen oder prüfen, ob ein String einem bestimmten Muster entspricht.
Das ‘re’ Modul in Python stellt Funktionen bereit, um mit regulären Ausdrücken zu arbeiten.
1. Importieren Sie das ‘re’ Modul:
```python
import re
```
2. Kompilieren Sie einen regulären Ausdruck in ein Pattern-Objekt:
```python
pattern = re.compile(r’\d+’) # findet einen oder mehrere zusammenhängende Ziffern.
```
‘\\d’ entspricht einer Ziffer, ‘+’ bedeutet, dass das vorhergehende Zeichen ein oder mehrmals auftreten kann. ‘r’ vor dem String steht für ‘raw’ und unterdrückt die Escaping-Funktion in Python-Strings.
3. Verwenden Sie eine der Methoden des Pattern-Objekts:
- `findall()`: Gibt alle Übereinstimmungen in einem String zurück:
```python
text = “Meine Telefonnummer ist 1234567890“
matches = pattern.findall(text)
print(matches) # [‘1234567890’]
```
- `search()`: Gibt das erste Vorkommen einer Übereinstimmung zurück, oder `None`, falls keine Übereinstimmung gefunden wurde:
```python
match = pattern.search(text)
if match:
print(match.group()) # ‘1234567890‘
```
- `match()`: Überprüft, ob der Anfang des Strings dem Muster entspricht:
```python
match = pattern.match(text)
if match:
print(match.group()) # None, weil der Text nicht mit einer Zahl beginnt
```
- `split()`: Teilt einen String an den Stellen, an denen das Muster gefunden wurde:
```python
text = “100 Äpfel, 200 Birnen, 300 Kirschen“
parts = pattern.split(text)
print(parts) # [‘’, ‘ Äpfel, ‘, ‘ Birnen, ‘, ‘ Kirschen’]
```
- `sub()`: Ersetzt alle Übereinstimmungen mit einem anderen String:
```python
text = “123abc456def“
new_text = pattern.sub(“XXX”, text)
print(new_text) # ‘XXXabcXXXdef‘
```