Regulärer Ausdruck in Python mit Beispielen | Set 1

Das Modul re bietet Unterstützung für reguläre Ausdrücke in Python. Nachfolgend finden Sie die wichtigsten Methoden in diesem Modul.

Suche nach einem Mustervorkommen

re.search(): Diese Methode gibt entweder None zurück (wenn das Muster nicht übereinstimmt) oder ein re.MatchObject, das Informationen zum übereinstimmenden Teil der Zeichenfolge enthält. Diese Methode wird nach der ersten Übereinstimmung beendet. Sie eignet sich daher am besten zum Testen eines regulären Ausdrucks und nicht zum Extrahieren von Daten.
import re  
  
regex = r"([a-zA-Z]+) (\d+)"
  
match = re.search(regex, "I was born on June 24"
  
if match != None
  
    
    
  
    
    
    print ("Match at index %s, %s" % (match.start(), match.end()))  
  
    
    
    
    
    
    
    
  
    
    print ("Full match: %s" % (match.group(0)))  
  
    
    print ("Month: %s" % (match.group(1)))  
  
    
    print ("Day: %s" % (match.group(2))) 
  
else
    print ("The regex pattern does not match.") 

Ausgabe :

Übereinstimmung bei Index 14, 21
Volles Spiel: 24. Juni
Monat: Juni
Tag: 24 

Ein Muster mit Text abgleichen

re.match(): Diese Funktion versucht, das Muster mit der gesamten Zeichenfolge abzugleichen . Die Funktion re.match gibt bei Erfolg ein Übereinstimmungsobjekt zurück, bei Fehler keine.

re.match (Muster, String, Flags = 0)
Muster: Regulärer Ausdruck, der abgeglichen werden soll.
Zeichenfolge: Zeichenfolge, in der nach Mustern gesucht wird
Flags: Wir können verschiedene Flags angeben
        mit bitweisem ODER (|). 
import re 
   
def findMonthAndDate(string): 
       
    regex = r"([a-zA-Z]+) (\d+)"
    match = re.match(regex, string) 
       
    if match == None
        print ("Not a valid date") 
        return
   
    print ("Given Data: %s" % (match.group())) 
    print ("Month: %s" % (match.group(1))) 
    print ("Day: %s" % (match.group(2))) 
   
       
findMonthAndDate("Jun 24") 
print("") 
findMonthAndDate("I was born on June 24") 

Ausgabe:

Gegebene Daten: 24. Juni
Monat: Jun
Tag: 24
Kein gültiges Datum

Finden aller Vorkommen eines Musters

re.findall(): Gibt alle nicht überlappenden Übereinstimmungen des Musters in der Zeichenfolge als Liste der Zeichenfolgen zurück. Die Zeichenfolge wird von links nach rechts gescannt und Übereinstimmungen werden in der angegebenen Reihenfolge zurückgegeben (Quelle: Python Docs ).
import re 
  
string  =
             
  
regex = '\d+'             
  
match = re.findall(regex, string) 
print(match) 
  

Ausgabe :

['123456789', '987654321']

Regulärer Ausdruck ist ein großes Thema. Es ist eine komplette Bibliothek. Reguläre Ausdrücke können viel bewirken. Sie können viele Daten abgleichen, suchen, ersetzen und extrahieren. Der folgende kleine Code ist beispielsweise so leistungsfähig, dass er die E-Mail-Adresse aus einem Text extrahieren kann. So können wir mit easy unsere eigenen Webcrawler und Scrapper in Python erstellen. Schauen Sie sich den folgenden regulären Ausdruck an.

# extrahieren Sie alle E-Mail-Adressen und fügen Sie sie dem resultierenden Satz hinzu
new_emails = set (re.findall (r "[a-z0-9 \. \ - + _] + @ [a-z0-9 \. \ - + _] + \. [az] +",
                           Text, re.I))

Wir werden bald weitere Methoden für reguläre Ausdrücke diskutieren.

Dieser Artikel wurde von Shwetanshu Rohatgi verfasst . Wenn Ihnen GeeksforGeeks gefällt und Sie einen Beitrag leisten möchten, können Sie auch einen Artikel schreiben und Ihren Artikel an contrib@geeksforgeeks.org senden. Sehen Sie sich Ihren Artikel auf der GeeksforGeeks-Hauptseite an und helfen Sie anderen Geeks.

Bitte schreiben Sie Kommentare, wenn Sie etwas Falsches finden oder weitere Informationen zu dem oben diskutierten Thema teilen möchten