Python-Regex-Escape

Abid Ullah 21 Juni 2023
  1. Python-Regex-Escape
  2. Syntax für Python Regex Escape
  3. Mehrfache Verwendung von Python Regex
Python-Regex-Escape

In diesem Artikel geht es um Python-Regex-Escape. Darüber hinaus behandeln wir Python Regex Escape und wie man es mit dem richtigen Beispielcode verwendet, sowie mehrere Verwendungsmöglichkeiten für Python Regex.

Darüber hinaus unterstützt Python Such- und Ersetzungsoperationen für Zeichenfolgen mithilfe von Regex (oder regulären Ausdrücken).

Python-Regex-Escape

RegEx ist eine hervorragende Technik, um Text nach einem vordefinierten Muster abzugleichen. Durch den Vergleich eines Textes mit einem bestimmten Muster kann festgestellt werden, ob es vorhanden oder nicht vorhanden ist.

Es kann auch ein Muster in Untermuster aufteilen. In Python kann Regex Escape eine Vielzahl von Aufgaben erfüllen.

Es kann Such- und Ersetzungsoperationen durchführen, Muster im Text ersetzen und prüfen, ob eine Zeichenfolge ein bestimmtes Muster enthält. Unter Verwendung von Regex werden wir heute auch Such- und Ersetzungsoperationen durchführen.

Reguläre Ausdrücke in Python können mit dem Modul re aus der Standardbibliothek ausgedrückt werden. Ein regulärer Ausdruck und eine Zeichenfolge berücksichtigen ihren Hauptzweck, nämlich die Durchführung einer Suche.

Eine Übereinstimmung wird entweder zurückgegeben, wenn es eine erste Übereinstimmung gibt oder nicht.

Python hat ein Standardmodul, re, das beim Suchen und Ersetzen hilft. Unser Code muss das Modul am Anfang importieren, um es zu verwenden.

import re

Beispielcode:

import re

match = re.search(
    r"Analytics",
    "DataScience: Data Science & Analytics\                                    subfield of AI",
)
print(match)
print(match.group())
print("Begin the Index:", match.start())
print("Let's finish the Index:", match.end())

Ausgang:

<re.Match object; span=(28, 37), match='Analytics'>
Analytics
Begin the Index: 28
Let's finish the Index: 37

Syntax für Python Regex Escape

Eine Roheigenschaft wird durch das Zeichen r dargestellt, hier (r'property'), nicht durch eine Regex. Im Gegensatz zu einer normalen Zeichenfolge interpretiert eine einfache Zeichenfolge das Zeichen \ nicht als Escape-Zeichen.

Aufgrund der Art und Weise, wie Engines für reguläre Ausdrücke das Zeichen / zum Escapezeichen verwenden, werden /-Zeichen zum Escapezeichen verwendet.

Lassen Sie uns dies mit Python näher erläutern.

import re

# When an escape() is used in the first case, it returns a string with BackSlash '/' before every non-Alphanumeric character. In the second case, it returns a string with BackSlash '/' before '' only.
print(re.escape("It was really a wonderful experience so far"))
print(re.escape("I am curious about the experience [a-9], she said \t ^Awesome"))

Ausgang:

It\ was\ really\ a\ wonderful\ experience\ so\ far
I\ am\ curios\ about\ the\ experience\ \[a\-9\],\ she\ said\ \	\ \^Awesome

Wenn Sie mit einem regulären Ausdruck in Python überprüfen möchten, ob ein Wort in einer Zeichenfolge vorhanden ist, können Sie die Zeichenfolge durch Kommas trennen.

Solange der String keine Escape-Zeichen enthält, macht das r den String zu einem Raw-String, der keine Escape-Zeichen verarbeitet.

Zusätzlich passt re.match ab dem Anfang der Zeichenfolge. Das bedeutet, dass nach exakten Übereinstimmungen zwischen der Zeichenfolge und dem Muster gesucht wird.

Verwenden Sie re.search, wenn Sie irgendetwas in der Zeichenfolge irgendwo finden müssen. Das Folgende ist ein Beispiel.

import re

line = "This,is,a,practice,string"
re.match("practice", line)
re.search("practice", line)

Ausgang:

<re.Match object; span=(10, 18), match='practice'>

Außerdem lernen wir die vielfältigen Verwendungsmöglichkeiten von Python-Regex kennen.

Mehrfache Verwendung von Python Regex

Suchen und Ersetzen durch Regex

Bei der Regex-Methode wird eine Zeichenfolge gesucht und dann ein anderer Wert ersetzt. Dazu wird Pythons Funktion re.sub() im Modul re verwendet.

Syntax:

re.sub(pattern, replacement, string, count=0, flags=0)

Wir können eine Zeichenfolge mit einem regulären Ausdruck mit Python suchen und finden. In diesem Fall ist die Zeichenfolge die Variable, die die Zeichenfolge enthält, die Sie bearbeiten möchten.

Wir können angeben, wie oft das Muster ersetzt werden soll, wenn es mehrmals in der Zeichenfolge vorkommt. 0 ist der Standardwert; in jedem Fall ist es optional.

Regex-Flags müssen nicht angegeben werden.

Beispielcode:

import re

str = "abid304@outlook.com"
print(re.sub("[a-z]*@", "abc@", str))

Ausgang:

abid304abc@outlook.com

Multipattern-Ersatz mit Regex

Mit Regex können mehrere Muster gleichzeitig ersetzt werden. Die folgende Syntax kann verwendet werden, um dies einfach zu erreichen.

Syntax:

re.sub(pattern_11 | pattern_22, replacement, string, count=0, flags=0)

Beispielcode:

import re

str = "MachineLearning is the Subfield of AI"
print(re.sub(r"(\s)|(-)", ",", str))

Ausgang:

MachineLearning,is,the,Subfield,of,AI

Ersetzen Sie mehrere Muster durch mehrere Ersetzungen mithilfe von Regex

Regex kann auch verwendet werden, um mehrere Muster durch unterschiedliche Ersetzungen zu ersetzen. Wie im folgenden Beispiel gezeigt, ist eine geringfügige Änderung erforderlich.

Beispielcode:

import re


def convrt_case(mtch_obj):
    if mtch_obj.group(1) is not None:
        return mtch_obj.group(1).lower()
    if mtch_obj.group(2) is not None:
        return mtch_obj.group(2).upper()


str = "mACHINE lEARNING IS THE sUBFIELD OF ai"
print(re.sub(r"([A-Z]+)|([a-z]+)", convrt_case, str))

Ausgang:

Machine Learning is the Subfield of AI

Wie in diesem Beispiel gezeigt, enthält die Zeichenfolge sowohl Groß- als auch Kleinbuchstaben, die ersetzt werden müssen. Großbuchstaben müssen durch Kleinbuchstaben ersetzt werden und umgekehrt.

Wir erstellen zwei Gruppen und fügen dann eine Funktion hinzu, um sie zu ersetzen.

In Python wird die Regex-Escape-Methode sub() verwendet, um einen String zu ersetzen. Der ersetzte String wird von einer in Python eingebauten Methode im re-Modul zurückgegeben.

Stellen Sie sicher, dass Sie das re-Modul importieren. Bei dieser Methode wird das Muster in der Zeichenfolge gesucht und durch einen neuen Ausdruck ersetzt.

Wir hoffen, dieser Python-Artikel hat Ihnen geholfen zu verstehen, wie Sie regex escape in Python effektiver verwenden können.

Autor: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn

Verwandter Artikel - Python Regex