Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie reguläre Python-Ausdrücke zur Inhaltsextraktion

So verwenden Sie reguläre Python-Ausdrücke zur Inhaltsextraktion

WBOY
WBOYOriginal
2023-06-22 15:04:176857Durchsuche

Python ist eine weit verbreitete High-Level-Programmiersprache mit umfangreichen Bibliotheken und Tools, die die Inhaltsextraktion einfacher und effizienter machen. Unter diesen sind reguläre Ausdrücke ein sehr wichtiges Werkzeug, und Python bietet das re-Modul zur Verwendung regulärer Ausdrücke zur Inhaltsextraktion. In diesem Artikel werden Ihnen die spezifischen Schritte zur Verwendung regulärer Python-Ausdrücke zur Inhaltsextraktion vorgestellt.

1. Verstehen Sie die grundlegende Syntax regulärer Ausdrücke

Bevor Sie reguläre Python-Ausdrücke zur Inhaltsextraktion verwenden, müssen Sie zunächst die grundlegenden Syntaxregeln regulärer Ausdrücke verstehen. Regulärer Ausdruck ist ein Textmuster, das zur Beschreibung von Zeichenmustern verwendet wird. Seine grundlegende Syntax umfasst Folgendes:

1 die Zeile, '$' bedeutet Übereinstimmung mit dem Ende der Zeile usw.

2. Zeichensatz: Gibt an, dass es mit einem von mehreren Zeichen übereinstimmen kann. Beispiel: „[abc]“ bedeutet, dass es mit einem der Zeichen „a“, „b“ und „c“ übereinstimmt.

3. Quantifizierer: ein Symbol, das die Anzahl der Übereinstimmungen angibt, z. B.: „*“ bedeutet keine oder mehrere Übereinstimmungen, „+“ bedeutet eine oder mehrere Übereinstimmungen, „?“ bedeutet keine oder mehrere Übereinstimmungen usw.

4. Gruppierung: Kombinieren Sie mehrere Zeichen zu einem Ganzen, zum Beispiel: „(abc)“ bedeutet, dass das gesamte „abc“ übereinstimmt.

2. Verwenden Sie das re-Modul für den Abgleich regulärer Ausdrücke.

In Python ist das re-Modul das Hauptwerkzeug für die Inhaltsextraktion mithilfe regulärer Ausdrücke. Dieses Modul stellt eine Reihe von Funktionen bereit, die den Abgleich regulärer Ausdrücke erleichtern.

1.re.match()-Funktion: Passt den regulären Ausdruck am Anfang der Zeichenfolge an. Wenn die Übereinstimmung erfolgreich ist, wird das übereinstimmende Objekt zurückgegeben; wenn die Übereinstimmung fehlschlägt, wird „None“ zurückgegeben.

Beispielcode:

import re

# 匹配字符串中的数字
text = 'Hello 123456 World'
matchObj = re.match(r'd+', text)

if matchObj:
    print("matchObj.group() : ", matchObj.group())
else:
    print("No match!!")

Ausgabeergebnis:

matchObj.group() : 123456

2.re.search()-Funktion: Reguläre Ausdrücke in der gesamten Zeichenfolge abgleichen. Wenn die Übereinstimmung erfolgreich ist, wird das übereinstimmende Objekt zurückgegeben. Wenn die Übereinstimmung fehlschlägt, wird „None“ zurückgegeben.

Beispielcode:

import re

# 搜索字符串中的数字
text = 'Hello 123456 World'
matchObj = re.search(r'd+', text)

if matchObj:
    print("matchObj.group() : ", matchObj.group())
else:
    print("No match!!")

Ausgabeergebnis:

matchObj.group() : 123456

3.re.findall()-Funktion: Alle Teilzeichenfolgen finden, die dem regulären Ausdruck in der Zeichenfolge entsprechen, und eine Liste zurückgeben.

Beispielcode:

import re

# 查找字符串中的所有数字
text = 'Hello 123456 World'
matchList = re.findall(r'd+', text)

print(matchList)

Ausgabeergebnis:

['123456']

4.re.sub()-Funktion: Ersetzen Sie die Teilzeichenfolge, die dem regulären Ausdruck in der Zeichenfolge entspricht.

Beispielcode:

import re

# 将字符串中的数字替换为'X'
text = 'Hello 123456 World'
newText = re.sub(r'd+', 'X', text)

print(newText)

Ausgabeergebnis:

Hello X World

3. Beispielanalyse

Lassen Sie uns ein Beispiel verwenden, um die Verwendung regulärer Python-Ausdrücke besser zu verstehen.

Im Internet unterliegen viele Websites Crawling-Einschränkungen und erfordern die Verwendung von Cookies zur Authentifizierung. Wie extrahieren Sie also mithilfe regulärer Python-Ausdrücke Cookies aus HTTP-Antwortheadern? Bitte schauen Sie sich den Beispielcode unten an:

import re

# 模拟HTTP响应头
responseHeader = '''
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Set-Cookie: SESSIONID=1234567890abcdef; Domain=example.com; Path=/
Set-Cookie: USERNAME=admin; Domain=example.com; Path=/
'''

# 提取cookie
cookiePattern = r'Set-Cookie: (.+?);'
cookieList = re.findall(cookiePattern, responseHeader)

# 输出cookie
print(cookieList)

Ausgabeergebnis:

['SESSIONID=1234567890abcdef', 'USERNAME=admin']

Durch die Verwendung der Funktion re.findall() und des regulären Ausdrucksmusters „Set-Cookie: (.+?);“ ist es bequem, Daten zu extrahieren Aus dem HTTP-Antwortheader Cookie-Informationen extrahieren.

4. Zusammenfassung

In diesem Artikel werden die grundlegenden Syntaxregeln regulärer Python-Ausdrücke und die Verwendung des re-Moduls für den Abgleich regulärer Ausdrücke vorgestellt. Anhand eines konkreten Beispiels wird gezeigt, wie reguläre Python-Ausdrücke verwendet werden, um Cookies aus HTTP-Antwortheadern zu extrahieren. Reguläre Ausdrücke sind ein sehr wichtiges Werkzeug in Python, das die Inhaltsextraktion erheblich erleichtern kann. Hoffentlich kann Ihnen dieser Artikel dabei helfen, Python besser für die Inhaltsextraktion zu nutzen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Python-Ausdrücke zur Inhaltsextraktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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