Heim Backend-Entwicklung Python-Tutorial Hinweise zu regulären Python-Ausdrücken

Hinweise zu regulären Python-Ausdrücken

Feb 01, 2021 pm 05:58 PM
python 正则表达式

0, Vorwort

2.2, `re.ASCII`(`re.A`)Hinweise zu regulären Python-Ausdrücken

2.3, `re.DOTALL`(`re.S`)

2.4, `re.MULTILINE`(`re.M` )

2.5 , „re.VERBOSE“(zu 3.1.1
  • Beispiel 3.1.2
  • Beispiel 3.1.3
  • 3.2. Funktion zum Finden mehrerer Übereinstimmungen
    • Beispiel. 3.2.1
    • 3.3 . Geteilt
    • Beispiel 3.3. 1
  • import re
    Nach dem Login kopieren
    • 0. Diese Notiz basiert auf dem Anfänger-Tutorial und dem Zhihu-Tutorial und beinhaltet einige meiner eigenen Lernerfahrungen.
      • 1. Muster für reguläre Ausdrücke
      • Der hervorgehobene Teil ist mein Zusatz, da er tatsächlich der tatsächlichen Situation zugeordnet werden kann
    • Ich war hier etwas faul und habe den Screenshot direkt gemacht eines Anfänger-Tutorials.
      • 2. Modifikator für reguläre Ausdrücke – optionales Flag
    • 2.1. re.IGNORECASE(re.I)
      • Obwohl Abschnitt 1 Konstanten ist, aber wir Zuerst muss kurz die Funktion re.findall erwähnt werden, da es sich um die Funktion handelt, die in diesem Abschnitt verwendet wird.
      • re.findall(pattern, string, flag=0): Suchen Sie an einer beliebigen Stelle in der Zeichenfolge und geben Sie eine Liste zurück. pattern ist das zu vergleichende Zeichen (String), string ist die Suchquelle, flag ist der Modifikator, der Standardwert ist 0
      re Die Funktion von .I besteht darin, die Groß-/Kleinschreibung von Zeichen zu ignorieren.
    text = "I'm Jasmine-Feng. My student number is No. 321432"pattern = r"Jasmine-FENG"print('Default: ', re.findall(pattern,text))print('Ignore upper/lower case: ', re.findall(pattern,text,flags=re.I))
    Nach dem Login kopieren
N.B. Dem Muster wird ein r-String zugewiesen. Die Funktion dieses r-Strings besteht darin, Escapezeichen zu vermeiden. r ist roh. Die Abkürzung bedeutet „behalte es so wie es ist“. Siehe diesen Blogbeitrag. Im Allgemeinen wird dieser R-String bei der Verwendung regulärer Ausdrücke verwendet.

Default:  []Ignore upper/lower case:  ['Jasmine-Feng']Process finished with exit code 0
Nach dem Login kopieren
Standardmäßig wird zwischen Groß- und Kleinschreibung unterschieden und ENG kann nicht gefunden werden. Wenn nicht unterschieden wird, kann eng gefunden werden.

2.2, re.ASCII(re.A)

re.A stimmt nur mit Zeichen überein, die vom ASCII-Code unterstützt werden Auf welche Zeichen bezieht es sich konkret? Das Bild unten stammt aus der Baidu-Enzyklopädie. Bildbeschreibung hier einfügen

Chinesische Schriftzeichen sind hier nicht enthalten , wenn der Modifikator also re.A ist, kann er nicht mit chinesischen Zeichen übereinstimmen. ~

text = "我是Jasmine-Feng. 我的学号是No. 321432"pattern = r"\w+"print('Default: ', re.findall(pattern,text))print('ASCII: ', re.findall(pattern,text,flags=re.A))
Nach dem Login kopieren
Hinweise zu regulären Python-Ausdrückenw+ wird verwendet, um ein oder mehrere alphanumerische und unterstrichene chinesische Zeichen zuzuordnen 2.3, re.DOTALL (re.S)


Im regulären Ausdrucksmodus wird . für Bildbeschreibung hier einfügenHinweise zu regulären Python-Ausdrücken

Default:  ['我是Jasmine', 'Feng', '我的学号是No', '321432']ASCII:  ['Jasmine', 'Feng', 'No', '321432']Process finished with exit code 0
Nach dem Login kopieren
.* Die Funktion ist zu Finde Zeichen (Strings) mit einer Länge von mindestens 0, emmm, das scheint Unsinn zu sein? Solange der gesamte Absatz nicht durch ein Zeilenumbruchzeichen abgeschnitten wird, können Sie tatsächlich die gesamte Zeichenfolge (plus eine leere Zeichenfolge) erhalten.

text = "我\t是Jasmine-F\neng. 我%的◉学号是No. 321432"pattern = r'.*'print('Default: ', re.findall(pattern,text))print('DOTALL: ', re.findall(pattern,text,re.S))
Nach dem Login kopieren

2.4, re.MULTILINE(re.M)

$ entspricht dem Ende der Zeichenfolge, ^ Sucht den Anfang der Zeichenfolge. Wenn Sie eine neue Zeile umbrechen, können Sie den Anfang/das Ende einer neuen Zeile nicht finden. Sie können jedoch re.M verwenden um es zu ändern, das ist der Mehrzeilenmodus.

Default:  ['我\t是Jasmine-F', '', 'eng. 我%的◉学号是No. 321432', '']DOTALL:  ['我\t是Jasmine-F\neng. 我%的◉学号是No. 321432', '']Process finished with exit code 0
Nach dem Login kopieren
text = "我\t是Jasmine-F\neng. 我%的◉\n学号是No. 321432"pattern = r'.$'pattern2 = r'^.'print('Default, end: ', re.findall(pattern, text))print('MULTILINE, end: ', re.findall(pattern, text, re.M))print('Default, start: ', re.findall(pattern2, text))print('MULTILINE, start: ', re.findall(pattern2, text, re.M))
Nach dem Login kopieren
re.IGNORECASE(re.I)

虽然第1节是常量,但我们必须先简要提一下re.findall这个函数,因为它是贯穿这一节的函数。
re.findall(pattern, string, flag=0): 从字符串任意位置查找,返回一个列表。pattern是欲匹配的字符(串),string是查找源,flag是修饰符,默认是0

re.I的作用是忽略字符大小写

Default, end:  ['2']MULTILINE, end:  ['F', '◉', '2']Default, start:  ['我']MULTILINE, start:  ['我', 'e', '学']Process finished with exit code 0
Nach dem Login kopieren

N.B. pattern被赋了一个r字符串,这个r字符串的作用是避免转义,r是raw的缩写,也就是保持原样的意思。可看这篇博文。一般来说,使用正则表达式都会用到这个r字符串。

text = '朋友们好啊!我是xxxxxx拳掌门人xxx~'pattern = r'''朋友们  # 主语
              好啊!  # 谓语
           '''print(re.findall(pattern, text,re.VERBOSE))
Nach dem Login kopieren

在默认情况下,区分大小写,找不到ENG;若不区分,则可以找到eng。

2.2、re.ASCII(re.A)

re.A的作用是只匹配ASCII码支持的字符,那么具体指哪些字符呢?下图来自百度百科。
Hinweise zu regulären Python-Ausdrücken
汉字是不在这个里面的,所以如果修饰符是re.A的话就匹配不了汉字了哈~

['朋友们好啊!']Process finished with exit code 0
Nach dem Login kopieren

w+的作用是匹配一个或多个字母数字下划线汉字

text = 'Hello everybody!\n我是xxxxxx拳掌门人xxx~'pattern = r'BODY.*$'print(re.findall(pattern, text, re.I))print(re.findall(pattern, text, re.M))print(re.findall(pattern, text, re.M | re.I))
Nach dem Login kopieren

2.3、re.DOTALLre.S

在正则表达式模式中,.是用来Hinweise zu regulären Python-Ausdrücken

[][]['body!']Process finished with exit code 0
Nach dem Login kopieren

.*的作用是匹配长度至少为0的字符(串),emmm,好像是句废话?事实上,只要整段话不被换行符截断,就可以得到整个字符串(外加一个空字符串)。

rrreee

2.4、re.MULTILINE(re.M)

$匹配定位到字符串末尾,^定位到字符串开头,默认情况下,如果换行,是不能定位到新一行的行头/尾的,而用re.M修饰则可以,也就是多行模式。

rrreeerrreee

2.5、re.VERBOSE(re.X)

verbose是“详实的、冗长的”意思,通过该修饰符可以在正则表达式中加入注释。注意,是往pattern里面加,不是往text加!我一开始以为是可以往text加注释,然后调试半天都得不到结果。。。

rrreeerrreee

2.6、修饰符的叠加

使用|可以叠加修饰。

rrreeerrreee

3、正则表达式函数

3.1、查找单个匹配项的函数

rrreeerrreee2.6. Überlagerung von Modifikatoren
函数 功能
search 从任意位置开始搜索
match 从开头搜索,不用完全匹配
fullmatch2.5, re.VERBOSE(re. Beachten Sie, dass Sie es zu pattern hinzufügen, nicht zu text! Zuerst dachte ich, ich könnte Kommentare zu text hinzufügen, aber nach längerem Debuggen konnte ich keine Ergebnisse erzielen. . .
Verwenden Sie |, um Änderungen zu überlagern.

rrreeerrreee🎜🎜3. Funktion für reguläre Ausdrücke🎜🎜🎜🎜3.1. Funktion zum Finden einer einzelnen Übereinstimmung🎜🎜

🎜search🎜🎜Suche von überall aus🎜🎜🎜match🎜🎜Suche von Anfang an, nein muss genau übereinstimmen🎜🎜🎜fullmatch🎜🎜Suchen Sie von Anfang an, es muss genau übereinstimmen🎜🎜🎜🎜🎜Tatsächlich habe ich ursprünglich mein eigenes Beispiel geschrieben, aber der Browser hat es falsch geschlossen ich und habe es nicht gerettet (meine Mentalität explodierte sofort)
function function 🎜

Das obige ist der detaillierte Inhalt vonHinweise zu regulären Python-Ausdrücken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Kann Visual Studio -Code in Python verwendet werden Kann Visual Studio -Code in Python verwendet werden Apr 15, 2025 pm 08:18 PM

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

Kann gegen Code in Windows 8 ausgeführt werden Kann gegen Code in Windows 8 ausgeführt werden Apr 15, 2025 pm 07:24 PM

VS -Code kann unter Windows 8 ausgeführt werden, aber die Erfahrung ist möglicherweise nicht großartig. Stellen Sie zunächst sicher, dass das System auf den neuesten Patch aktualisiert wurde, und laden Sie dann das VS -Code -Installationspaket herunter, das der Systemarchitektur entspricht und sie wie aufgefordert installiert. Beachten Sie nach der Installation, dass einige Erweiterungen möglicherweise mit Windows 8 nicht kompatibel sind und nach alternativen Erweiterungen suchen oder neuere Windows -Systeme in einer virtuellen Maschine verwenden müssen. Installieren Sie die erforderlichen Erweiterungen, um zu überprüfen, ob sie ordnungsgemäß funktionieren. Obwohl VS -Code unter Windows 8 möglich ist, wird empfohlen, auf ein neueres Windows -System zu upgraden, um eine bessere Entwicklungserfahrung und Sicherheit zu erzielen.

Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Apr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Ist die VSCODE -Erweiterung bösartig? Ist die VSCODE -Erweiterung bösartig? Apr 15, 2025 pm 07:57 PM

VS -Code -Erweiterungen stellen böswillige Risiken dar, wie das Verstecken von böswilligem Code, das Ausbeutetieren von Schwachstellen und das Masturbieren als legitime Erweiterungen. Zu den Methoden zur Identifizierung böswilliger Erweiterungen gehören: Überprüfung von Verlegern, Lesen von Kommentaren, Überprüfung von Code und Installation mit Vorsicht. Zu den Sicherheitsmaßnahmen gehören auch: Sicherheitsbewusstsein, gute Gewohnheiten, regelmäßige Updates und Antivirensoftware.

PHP und Python: Ein tiefes Eintauchen in ihre Geschichte PHP und Python: Ein tiefes Eintauchen in ihre Geschichte Apr 18, 2025 am 12:25 AM

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

So führen Sie Programme in der terminalen VSCODE aus So führen Sie Programme in der terminalen VSCODE aus Apr 15, 2025 pm 06:42 PM

Im VS -Code können Sie das Programm im Terminal in den folgenden Schritten ausführen: Erstellen Sie den Code und öffnen Sie das integrierte Terminal, um sicherzustellen, dass das Codeverzeichnis mit dem Terminal Working -Verzeichnis übereinstimmt. Wählen Sie den Befehl aus, den Befehl ausführen, gemäß der Programmiersprache (z. B. Pythons Python your_file_name.py), um zu überprüfen, ob er erfolgreich ausgeführt wird, und Fehler auflösen. Verwenden Sie den Debugger, um die Debugging -Effizienz zu verbessern.

See all articles