Heim > Backend-Entwicklung > Python-Tutorial > Python-Greed-Matching und Multi-Line-Matching

Python-Greed-Matching und Multi-Line-Matching

不言
Freigeben: 2018-04-19 10:29:48
Original
2255 Leute haben es durchsucht

Das Folgende ist ein Beispiel für gieriges Matching und mehrzeiliges Matching in Python. Es hat einen guten Referenzwert und ich hoffe, es wird für alle hilfreich sein. Lasst uns gemeinsam einen Blick darauf werfen

1 Non-Greedy-Flagge

>>> re.findall(r"a(\d+?)", "a23b")
  ['2']
>>> re.findall(r"a(\d+)", "a23b")
  ['23']
Nach dem Login kopieren

Bezahlen Achtung beim Vergleich In diesem Fall:

>>> re.findall(r"a(\d+)b", "a23b")
  ['23']
>>> re.findall(r"a(\d+?)b", "a23b")
  ['23']
Nach dem Login kopieren

2 Wenn Sie einen mehrzeiligen Abgleich wünschen, fügen Sie re.S und re hinzu .M-Flags

re.S: Stimmt mit Zeilenumbruchzeichen überein, Standard: Stimmt nicht mit Zeilenumbruchzeichen überein

>>> re.findall(r"a(\d+)b.+a(\d+)b", "a23b\na34b")
  []
>>> re.findall(r"a(\d+)b.+a(\d+)b", "a23b\na34b", re.S)
  [('23', '34')]
>>>
Nach dem Login kopieren

re.M: Das Flag ^$ stimmt mit jeder Zeile überein. Standardmäßig stimmen ^ und $ nur mit der ersten Zeile überein

>>> re.findall(r"^a(\d+)b", "a23b\na34b")
  ['23']
>>> re.findall(r"^a(\d+)b", "a23b\na34b", re.M)
  ['23', '34']
Nach dem Login kopieren

Allerdings , wenn kein ^-Logo vorhanden ist,

>>> re.findall(r"a(\d+)b", "a23b\na23b")
  ['23', '23']
Nach dem Login kopieren

Verwandte Empfehlungen:

Schreiben Sie einen einfachen Webcrawler Python zum Aufnehmen von Videos

Das obige ist der detaillierte Inhalt vonPython-Greed-Matching und Multi-Line-Matching. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage