Anfänger stoßen beim Schreiben von Python-Code häufig auf einige Probleme bei der Zeichenfolgenverarbeitung, z. B. beim Parsen von Daten aus einer HTML-Webseite, beim Extrahieren bestimmter Informationen aus einer Textdatei oder beim Abfangen wichtiger Teile aus einem langen Text usw. Zu diesem Zeitpunkt können wir reguläre Ausdrücke verwenden, um diese Probleme zu lösen. In diesem Artikel wird erläutert, wie Sie mit den regulären Ausdrücken von Python Code schreiben und die Codierungseffizienz verbessern.
1. Was ist ein regulärer Ausdruck?
Regulärer Ausdruck ist eine Methode zum Abgleichen von Zeichenfolgen. Sie verwendet spezielle Symbole und Zeichen, um Regeln zu bilden, was das Filtern und Durchsuchen von Text sehr erleichtert. Das in Python häufig verwendete Modul für reguläre Ausdrücke ist das Re-Modul, mit dem regelmäßige Vergleichs- und Ersetzungsvorgänge für Zeichenfolgen implementiert werden können.
2. Grundlegende Syntax regulärer Ausdrücke
Bevor wir reguläre Ausdrücke verwenden, müssen wir einige grundlegende Syntax beherrschen.
Zeichensatz: [ ] entspricht jedem Zeichen, das in eckigen Klammern enthalten ist.
Metazeichen: Entspricht jedem Zeichen außer Zeilenumbruch.
Anzahl der Wiederholungen: * entspricht null oder mehreren wiederholten Zeichen, + entspricht einem oder mehreren wiederholten Zeichen, ? entspricht null oder einem wiederholten Zeichen.
Start und Ende: ^ entspricht der Startposition der Zeichenfolge, $ entspricht der Endposition der Zeichenfolge.
Antonym: W entspricht jedem Zeichen, das kein Buchstabe oder Zahl ist, S entspricht jedem Zeichen, das kein Leerzeichen ist.
Gruppe: ( ) wird zum Gruppieren für eine einfache Bedienung verwendet.
3. Praxis für reguläre Ausdrücke
Das Folgende ist ein Beispiel, um zu veranschaulichen, wie reguläre Ausdrücke zum Schreiben von Code und zur Codierungseffizienz verwendet werden.
Beispiel 1: Datum aus Text extrahieren
In einer Textdatei müssen wir Datumsinformationen extrahieren, zum Beispiel: 1. Mai 2020, wir können den folgenden regulären Ausdruck verwenden:
import re string = '2020年5月1日' pattern = r"d+年d+月d+日" result = re.findall(pattern, string) print(result)
Ausgabeergebnis:
['2020年5月1日']
Beispiel 2 : Links aus HTML-Seiten extrahieren
In einer HTML-Seite müssen wir alle Linkinformationen extrahieren, zum Beispiel:
import re import requests r = requests.get('http://www.baidu.com') pattern = re.compile(r'(http|https|ftp)://[^s]+') result = pattern.findall(r.text) print(result)
Ausgabeergebnis:
['http://www.baidu.com/', 'http://home.baidu.com/', 'http://map.baidu.com/', 'http://v.baidu.com/', 'http://tieba.baidu.com/', 'http://fanyi.baidu.com/', 'http://news.baidu.com/', 'http://baijiahao.baidu.com/', 'http://xueshu.baidu.com/', 'http://wenku.baidu.com/', 'http://music.baidu.com/', 'http://image.baidu.com/', 'http://v.baidu.com/', 'http://tieba.baidu.com/', 'http://map.baidu.com/', 'http://wenku.baidu.com/', 'http://jingyan.baidu.com/', 'http://tieba.baidu.com/', 'http://zhidao.baidu.com/', 'http://tieba.baidu.com/', 'http://tieba.baidu.com/f?kw=%D6%D0%C9%BD%C1%F4%B2%FA&fr=index', 'http://tieba.baidu.com/f?kw=%B0%D9%B6%AF%B2%FA%D0%ED&fr=index', 'http://tieba.baidu.com/f?kw=%D2%EF%BE%AD%B5%DA&fr=index', 'http://tieba.baidu.com/f?kw=Ubuntu&fr=index', 'http://tieba.baidu.com/f?kw=%B0%C2%D7%B0%B5%DA&fr=index', 'http://tieba.baidu.com/f?kw=%B7%D7%CA%D0%CE%C4&fr=index', 'http://music.baidu.com/new', 'http://news.baidu.com/n?cmd=1&class=civilnews&tn=rss', 'http://baijiahao.baidu.com/u?app_id=1589334281367279', 'http://xueshu.baidu.com/s?wd=paperuri%3A%2836d90593d4c8d317f9ef4ef93bf56000%29&filter=sc_long_sign&sc_ks_para=q%3D%E9%A3%9F%E5%93%81%E5%AE%89%E5%85%A8', 'http://wenku.baidu.com/view/13908a38069661ce85006134', 'http://music.baidu.com/top?pst=shouyeTop', 'https://www.baidu.com/duty/', 'http://ir.baidu.com']
Beispiel 3: Ersetzen Sie Zeichenfolgenkommas durch Punkte
in einer Textdatei. Wir müssen Kommas durch Punkte ersetzen, zum Beispiel:
import re string = '12,34,56,78' pattern = r',' replaced_string = re.sub(pattern, '.', string) print(replaced_string)
Ausgabeergebnis:
12.34.56.78
Beispiel 4: Überprüfen Sie, ob eine Zeichenfolge eine E-Mail-Adresse ist
Bei der Entwicklung eines Anmeldesystems müssen wir überprüfen, was der Benutzer eingibt. Ist die E-Mail Adresse legal, zum Beispiel:
import re email = 'example@gmail.com' pattern = r'[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$' if re.match(pattern, email): print('Email address is correct!') else: print('Invalid email address!')
Ausgabeergebnis:
Email address is correct!
4. Reguläre Python-Ausdrücke spielen eine wichtige Rolle bei der Textverarbeitung und können uns dabei helfen, die Codierung und Zeichenfolgenverarbeitung schneller und effizienter durchzuführen Aufgaben effizient erledigen. In der tatsächlichen Entwicklung können reguläre Ausdrücke je nach Bedarf flexibel in Kombination mit anderen Python-Bibliotheken und -Funktionen angewendet werden, um eine bessere Codierungseffizienz und Codequalität zu erzielen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Python-Ausdrücke für Codierung und Codierungseffizienz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!