Die Python-Methode findall() erkennt keinen regulären Ausdruck mit (){} [Duplikat]Python

Python-Programme
Anonymous
 Die Python-Methode findall() erkennt keinen regulären Ausdruck mit (){} [Duplikat]

Post by Anonymous »

Ich lerne die Methode findall() im Abschnitt über reguläre Ausdrücke. Ich habe ein Problem, für das ich keine Lösung und Erklärung gefunden habe. Die Methode findall() erkennt das Muster des regulären Ausdrucks nicht richtig oder nicht wie erwartet, als ich {} verwendet habe, um die Nummer der Zeichenfolge für den Abgleich anzugeben.

Um es deutlicher zu machen, nehme ich das Beispiel aus dem Buch. Hier ist der Code:

Code: Select all

import re
haRegex = re.compile(r'(Ha){3}')
mo = haRegex.findall('HaHaHaHaHaHa')
Wenn ich das Skript ausführe, bekomme ich Folgendes:

Code: Select all

['Ha', 'Ha']
Als ich jedoch (Ha){3} durch HaHaHa ersetzte, erhielt ich

Code: Select all

['HaHaHa', 'HaHaHa']
was ich vom ersten Skript erwartet habe.

Außerdem funktionierte das Muster perfekt mit der Methode search(). Ich habe

Code: Select all

'HaHaHa'
mit der Methode group().

Weiß jemand, was passiert ist?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post