Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich mit dem Python-Modul „re' alle überlappenden 10-stelligen Zahlenreihen in einer Zeichenfolge finden?

Wie kann ich mit dem Python-Modul „re' alle überlappenden 10-stelligen Zahlenreihen in einer Zeichenfolge finden?

Patricia Arquette
Freigeben: 2024-12-29 22:31:11
Original
972 Leute haben es durchsucht

How Can I Find All Overlapping 10-Digit Number Series in a String Using Python's `re` Module?

Überlappende Regex-Übereinstimmungen: Jede Zahlenreihe finden

Einführung

Es stellt sich die Frage wie man jede überlappende 10-stellige Zahlenreihe innerhalb einer größeren Zahlensammlung mithilfe des Moduls „re“ in Python findet 2.6. Während nicht überlappende Übereinstimmungen unkompliziert sind, erweist sich das Extrahieren aller Vorkommen als schwierig.

Lösung

Um dieses Problem zu lösen, kann eine Erfassungsgruppe innerhalb eines Lookaheads eingesetzt werden. Der Lookahead identifiziert die gewünschten Sequenzen, aber die tatsächliche Übereinstimmung entspricht dem vorangehenden Teilstring mit der Breite Null, wodurch sichergestellt wird, dass es nicht zu Überlappungen kommt Übereinstimmungen.

Implementierung

import re

s = "123456789123456789"
matches = re.finditer(r'(?=(\d{10}))', s)
results = [int(match.group(1)) for match in matches]
Nach dem Login kopieren

Ausgabe

[1234567891,
 2345678912,
 3456789123,
 4567891234,
 5678912345,
 6789123456,
 7891234567,
 8912345678,
 9123456789]
Nach dem Login kopieren

Erklärung

Der reguläre Ausdruck (?=(d{10})) behauptet, dass sich unmittelbar rechts davon ein befindet Erfassungsgruppe, die eine 10-stellige Zahlenreihe (d{10}) darstellt. Der Lookahead verbraucht keine Zeichen, daher sind die tatsächlichen Übereinstimmungen die Teilzeichenfolgen mit der Länge Null vor den Lookaheads, bei denen es sich um die einzelnen 10-stelligen Reihen handelt.

Das obige ist der detaillierte Inhalt vonWie kann ich mit dem Python-Modul „re' alle überlappenden 10-stelligen Zahlenreihen in einer Zeichenfolge finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage