Ich vergesse oft die Operation, wenn ich reguläre Ausdrücke in Python verarbeiten möchte. Notieren Sie sich also, wonach Sie häufig suchen. Ich werde es hinzufügen, wenn die Anzahl der häufig gesuchten Artikel zunimmt. Wenn Sie die umfassenden Informationen anzeigen möchten, gehen Sie zu Offizielle Dokumente. Vergessen Sie nicht, re zu importieren. Als Referenz habe ich unter hier einen Hinweis zur Grammatik regulärer Ausdrücke hinterlassen.
Eine Zusammenfassung der eingeführten Funktionen. Hier repräsentiert das Muster ein beliebiges Objekt mit regulären Ausdrücken und die Übereinstimmung ein beliebiges Übereinstimmungsobjekt.
Funktion | Inhalt |
---|---|
re.compile(r"Reguläre Ausdrücke") | Reguläre Ausdrückeオブジェクトの生成 |
pattern.search(String) | String内でpatternに一致した最初のマッチオブジェクト |
pattern.finditer(String) | String内でpatternに一致した全てのマッチオブジェクトのイテレータ |
match.start( ) | Startindex in der Suchergebniszeichenfolge |
match.end( ) | Index in der Suchergebniszeichenfolge beenden |
match[0] | Suchergebniszeichenfolge |
Wenn Sie beispielsweise wissen möchten, ob die Zeichenfolge "Ich bin ein Python-Anfänger A" "obere Buchstaben" enthält.
search_exam_1.py
import re
string = "Ich bin Python-Anfänger A." #Definition der Zeichenfolge
pattern = re.compile(r"[A-Z]") #Definition des Musters für reguläre Ausdrücke
result = pattern.search(string) #Suche
print(result)
print(result.start())
print(result.end())
<re.Match object; span=(2, 3), match='P'>
2
3
Wenn Sie einen regulären Ausdruck verwenden, müssen Sie ihn so verarbeiten, dass er als regulärer Ausdruck erkannt wird. Der Prozess ist "re.compile ()". Wenn Sie "re.search (r" [A-Z] ", Zeichenfolge)" verwenden, um die 3. und 4. Zeile zusammenzusetzen, wird jedes Mal, wenn mehrere Texte vorhanden sind, ein Objekt mit regulären Ausdrücken erstellt. Wenn der reguläre Ausdruck ein \ (Kreissymbol) enthält, muss die Zeichenfolge mit "r" "" eingeschlossen werden, damit sie korrekt erkannt wird. Dann erkennt Python, dass die Zeichenfolge darin roh ist. Weitere Informationen finden Sie am Anfang von Offizielles Dokument.
Das an result
zurückgegebene Objekt wird als Match-Objekt bezeichnet und enthält Informationen zum ersten Treffer in der Suchzeichenfolge. Es ist praktisch, die Start- und Endindizes mit den Methoden start ()
bzw. end ()
abrufen zu können.
Wenn Sie ** alle ** des "oberen Alphabets" erhalten möchten, das in der Zeichenfolge "Ich bin ein Python-Anfänger A" enthalten ist.
search_exam_2.py
import re
string = "Ich bin Python-Anfänger A." #Definition der Zeichenfolge
pattern = re.compile("[A-Z]") #Definition des Musters für reguläre Ausdrücke
results = pattern.finditer(string) #Suche nach Zeichenfolgen
for result in results: #Suchergebnis-Iterator(results)Im Ergebnis
print(result[0]) #Objektobjekt abgleichen
print(result.start(), result.end())
P
2 3
A
11 12
Wenn Sie mit finditer
nach einer Zeichenfolge suchen, wird der Iterator des Übereinstimmungsobjekts zurückgegeben. Erweitern Sie ihn daher nacheinander mit der for-Anweisung. Auf diese Weise werden mehrere Suchvorgänge durchgeführt.
Was ist das Ergebnis [0]? Die Operation des Zugriffs auf die 0. Gruppe im Übereinstimmungsobjekt. Wenn Sie nach mehreren Zeichenfolgen suchen, enthält das Übereinstimmungsobjekt mehrere Gruppen.
Hier repräsentiert das Muster ein beliebiges Objekt mit regulären Ausdrücken und die Übereinstimmung ein beliebiges Übereinstimmungsobjekt.
Funktion | Inhalt |
---|---|
re.compile(r"Reguläre Ausdrücke") | Reguläre Ausdrückeオブジェクトの生成 |
pattern.search(String) | String内でpatternに一致した最初のマッチオブジェクト |
pattern.finditer(String) | String内でpatternに一致した全てのマッチオブジェクトのイテレータ |
match.start( ) | Startindex in der Suchergebniszeichenfolge |
match.end( ) | Index in der Suchergebniszeichenfolge beenden |
match[0] | Suchergebniszeichenfolge |
Im Moment werden die mit "Suchen" und "Suchen" verbundenen Elemente aufgelistet. Ich werde es in Zukunft noch einmal hinzufügen.
Recommended Posts