In Entwicklung und Testmanagement Zuletzt aktualisiert am:
Teilen:
Cloudways bietet verwaltetes Cloud-Hosting für Unternehmen jeder Größe zum Hosten einer Website oder komplexer Webanwendungen.

Regex-Ausdruck kann ein Schmerz sein. Naja manchmal!

Lernen wir reguläre Ausdrücke und ihre Muster kennen. Wir werden uns mit solchen Mustern befassen, die wie eine verschlungene Suppe von Charakteren erscheinen. Wir werden sehen, was jedes Zeichen in einem regulären Ausdruck bedeutet.

Nachdem Sie diesen Artikel gelesen haben, werden Sie in der Lage sein, Ihre regulären Ausdrücke zu erstellen und sie nach Belieben zu verwenden. Am Ende werden wir auch einige davon online auflisten RegEx Testtools, damit Sie je nach Anforderung Ihr RegEx erstellen und es mit diesen Tools testen können.

Einleitung

Reguläre Ausdrücke oder wie allgemein bekannt - RegEx ist eine beliebige Folge von Zeichen, die als Muster für die Suche nach Zeichen oder Zeichenfolgen verwendet werden kann.

Zum Beispiel, um festzustellen, ob eine Zeichenfolge oder Phrase das Wort „Apfel"Wir können den regulären Ausdruck verwenden"/Apfel”, Um innerhalb der Zeichenfolge zu suchen. Als weiteres Beispiel können wir „/[0-9]”, Um zu überprüfen, ob eine bestimmte Zeichenfolge eine Zahl zwischen 0 und 9 enthält.

Reguläre Ausdrücke und ihre Verwendung

Reguläre Ausdrücke werden häufig für eine Vielzahl von Zwecken in modernen webbezogenen Operationen verwendet. Validierung von Webformularen, Web-Suchmaschinen, lexikalischen Analysatoren in IDEs, Texteditoren und Dokumenteditoren gehören zu den Beispielen, in denen häufig reguläre Ausdrücke verwendet werden.

Wir haben alle verwendet “CTRL + F”Oft, um in einem Dokument oder einem Code nach einem bestimmten Wort, einer Phrase oder einem Ausdruck zu suchen. Diese Operation kann als ein sehr häufiges Beispiel für die Verwendung regulärer Ausdrücke angeführt werden.

Bevor wir fortfahren, werfen wir einen Blick auf einen sehr häufig verwendeten regulären Ausdruck.

Können Sie below das unten stehende RegEX erraten, wofür es verwendet wird?

^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$

Mach dir keine Sorgen, wenn du es nicht erraten kannst. Ich bin mir verdammt sicher, dass Sie am Ende dieses Artikels raten können.

Beginnen wir zuerst mit A, B, C von RegEx.

Tokens

Schauen wir uns zunächst die verschiedenen Symbole im oben gezeigten Regex an.

^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$

Wenn wir uns den oben angegebenen regulären Ausdruck ansehen, können wir sehen, dass er aus vielen Symbolen, Zeichen oder Token besteht. Lassen Sie uns herausfinden, was sie bedeuten:

Token

Bedeutung

^

Dieses Token kennzeichnet den Anfang einer Zeichenfolge.

(...)

Dies bezeichnet eine Gruppe, in der alles erfasst wird, was in (…) angegeben ist.

[...]

Das [] enthält Zeichen, mit denen jedes übereinstimmen kann. Zum Beispiel - [abc] entspricht entweder a oder b oder c.

AZ

Der Satz von Klein Alphabete von a bis z. Wir müssen bedenken, dass bei Regex zwischen Groß- und Kleinschreibung unterschieden wird.

A-Z

Der Satz von Groß Zeichen von A bis Z.

0-9

Die Ziffern von 0 bis 9.

_

Dies entspricht dem Zeichen _.

\

Dies ist der Fluchtcharakter.

\.

Dies entspricht dem Zeichen "." buchstäblich. Dies wird verwendet, weil das Symbol "." in Regex ist ein Token an sich, das mit jedem Zeichen übereinstimmt

+

Dies ist ein Quantifizierer. Dies entspricht einem oder mehreren Zeichen, mit denen es verwendet wird. Zum Beispiel bedeutet a + ein oder mehrere Vorkommen des Zeichens a.

\-

Dies entspricht dem Zeichen "-".

@

Dies entspricht dem Zeichen "@".

{}

Dies ist ein weiterer Quantifizierer. Es wird verwendet, um die Anzahl der Vorkommen eines Zeichens anzugeben. Zum Beispiel bedeutet eine {3} genau 3 a.

$

Dies bezeichnet das Ende einer Zeichenfolge.

Aufschlüsselung des gegebenen Regex-Musters

Versuchen wir nun, mit diesem vorläufigen Wissen über Token bewaffnet, den obigen regulären Ausdruck zu entschlüsseln:

  • <small><span style="color: #ff0000;"><span style="color: #000000;">^([a-zA-Z0-9_\-\.]+)</span></span></small> bedeutet, dass wir nach einer Zeichenfolge suchen, die mit mindestens einem oder mehreren alphanumerischen Groß- oder Kleinbuchstaben, Unterstrichen, Bindestrichen oder Punkten beginnt. Zum Beispiel alles, was ähnlich aussieht Benutzername.01 wird dem Muster entsprechen. Wir müssen uns daran erinnern, dass hier nicht alle Symbole, sondern nur ein Zeichen enthalten sein müssen [a-zA-Z0-9_\-\.] Wird besorgt.
  • Der @ Zeichenübereinstimmungen für ein einzelnes Vorkommen von @. Zum vorherigen Beispiel etwas hinzufügen Benutzername.01@ wird passen.
  • ([a-zA-Z0-9_\-\.]+)  ist ähnlich dem ersten Punkt. Dies bedeutet auch, dass wir nach einer Zeichenfolge suchen, die mindestens ein oder mehrere alphanumerische Zeichen, Unterstriche, Bindestriche oder Punkte enthält. Hinzufügen zum Beispiel, Benutzername.01@gmail wird hier passen.
  • Wie Sie vielleicht bereits vermutet haben, deuten wir auf ein E-Mail-Muster hin. Weiter, \. passt zur Single "." Charakter. Wenn wir mit dem laufenden Beispiel fortfahren, so etwas wie Benutzername.01@gmail.
  • ([a-zA-Z]{2,5})$ Dies bedeutet, dass die Zeichenfolge mit 2 bis 5 Buchstaben in Groß- oder Kleinbuchstaben enden sollte. Wenn wir dem vorherigen Beispiel .com hinzufügen, können wir erhalten Benutzername.01@gmail.comDies ist das übliche Muster einer E-Mail-Zeichenfolge.

Wenn wir alle oben genannten Punkte kombinieren, können wir sehen, dass wir nach einer E-Mail-ID-Zeichenfolge suchen. Jetzt können wir diesen Ausdruck verwenden validieren Sie jede E-Mail Ich würde. Wenn unsere Test-E-Mail-ID diesem Muster entspricht, können wir sagen, dass es sich um eine gültige E-Mail-ID handelt.

PS. - Dies ist ein Muster für die meisten gängigen E-Mail-IDs im Web.

Arten von Token

Viele Token können in verschiedenen Kombinationen innerhalb eines Regex verwendet werden, um eine Vielzahl von Ausdrücken zu beschreiben. Im Folgenden werden wir uns die verschiedenen Arten von Token ansehen, die in regulären Ausdrücken verwendet werden. Darüber hinaus werden wir uns auch die am häufigsten verwendeten Token in jeder Kategorie ansehen.

Grundlegende Token

Beginnen wir mit den grundlegenden Token. Diese Token werden mit fast jedem regulären Ausdruck verwendet. Daher müssen wir zuerst etwas über sie lernen.

Token

Bedeutung

\r

Dies entspricht dem Wagenrücklaufzeichen.

\0

Es entspricht dem Nullzeichen.

\n

Dies sucht nach einer neuen Zeile.

\t

Dies entspricht einer Registerkarte.

Zeichenklassen

Schauen wir uns die Charakter-Token an. Sie werden verwendet, um Alphabete, Zahlen und andere Sonderzeichen abzugleichen.

Token

Bedeutung

a

Dies entspricht buchstäblich dem Charakter a. In ähnlicher Weise suchen alle Alphabete und Zahlen, wenn sie isoliert verwendet werden, nach dem spezifischen Zeichen selbst.

ABC

Es entspricht der Zeichenfolge abc.

[ABC]

Dies sucht nach einem einzelnen Zeichen unter a, b oder c.

[^ abc]

Dies entspricht jedem Zeichen außer a oder b oder c.

[az]

Ein Kleinbuchstaben im Bereich von a bis z

[^ az]

Alle Zeichen, die nicht im Bereich von a bis z liegen. Dies schließt auch Großbuchstaben ein.

[AZ]

Ein Großbuchstabe zwischen A und Z.

[^ AZ]

Ein Zeichen, das nicht zwischen A und Z liegt.

[0-9]

Beliebige Zahl im Bereich von 0 bis 9

[^ 0-9]

Ein Zeichen, das nicht im Bereich von 0 bis 9 liegt

[a-zA-Z0-9]

Dies entspricht einem Zeichen, bei dem es sich möglicherweise um ein Kleinbuchstabenzeichen zwischen a und z handelt or ein beliebiges Zeichen zwischen A und Z. or eine beliebige Zahl zwischen 0 und 9

[^ a-zA-Z0-9]

Alle Zeichen, die nicht in die vorherige Kategorie fallen.

.

Beliebiges einzelnes Zeichen

\s

Dies wird verwendet, um nach Leerzeichen zu suchen.

\S

Dies wird verwendet, um nach Nicht-Leerzeichen zu suchen.

\d

Dies stimmt mit jeder Ziffer überein

\D

Dies gilt für alle nicht-Ziffern

\w

Es passt zu jedem Wortzeichen

\W

Es entspricht jedem Nicht-Wort-Zeichen

$

Dies bezeichnet das Ende einer Zeichenfolge

\b

Dies entspricht einer Wortgrenze

\B

Dies wird verwendet, um eine Nicht-Wortgrenze abzugleichen

Quantifizierer

Diese spezielle Klasse von Token wird verwendet, um die Anzahl aufeinanderfolgender Vorkommen eines Zeichens, einer Zeichenfolge oder einer Zahl abzugleichen. Sie werden in Verbindung mit den anderen Token verwendet.

Schauen wir uns einige gängige Quantifizierer an.

Tokens

Bedeutung

a?

Dies entspricht null oder einem Auftreten von a.

a*

Dies entspricht null oder mehr Vorkommen (aufeinanderfolgend) von a.

a+

Dies gilt für mindestens ein oder mehrere aufeinanderfolgende Vorkommen von a.

a {5}

Dies sucht nach genau fünf aufeinanderfolgenden Vorkommen des Buchstabens a.

a {5,}

Dies gilt für mindestens fünf oder mehr aufeinanderfolgende Vorkommen von a.

a {5, 7}

Dies sucht nach einer beliebigen Anzahl aufeinanderfolgender a zwischen 5 und 7.

Gruppen

Diese Token stimmen in Gruppen überein, wie der Name schon sagt.

Tokens

Bedeutung

(...)

Dies erfasst alles, was in der Klammer steht.

(a | b)

Dies entspricht entweder a oder b.

(?:…)

Passt zu allem, was in den Klammern steht

(? (1) ja | nein)

Dies entspricht einer bedingten Anweisung.

Flags

Dies sind spezielle Anweisungen, die der Pattern Matcher Engine bei der Suche nach einer Übereinstimmung gegeben werden.

TokensBedeutung

g

Globales Spiel. Dies wird so lange suchen, bis die übereinstimmende Engine keine Übereinstimmung mehr findet, dh bis zum Ende der angegebenen Zeichenfolge oder Gruppe von Zeichenfolgen.

m

Mehrzeilige Übereinstimmung, dh Zeile für Zeile.

x

Weist die Engine an, Leerzeichen beim Abgleichen zu ignorieren.

X

Dies wird für den erweiterten Abgleich verwendet.

 s

Dies entspricht einer einzelnen Zeile.

 i

Dies wird für die Übereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung verwendet.

 u

Für Unicode-Zeichen.

Anker

Zusätzliche Anweisungen für den Motor bezüglich der Positionen.

Tokens

Bedeutung

^

Dies bezeichnet den Beginn einer Zeichenfolge

\A

Auch dies bezeichnet den Beginn eines Strings

\Z

Das Token für das Ende einer Zeichenfolge.

\z

Das Token für das absolute Ende einer Zeichenfolge.

 \G

Dies ist für den Beginn eines Spiels.

Häufig verwendete reguläre Ausdrücke

Reguläre Ausdrücke werden häufig über das Internet verwendet. Von der Formularüberprüfung bis zur Suche nach Daten, die ein bestimmtes Schlüsselwort oder bestimmte Schlüsselwörter enthalten, sind reguläre Ausdrücke fast untrennbar mit modernen Computeranwendungen verbunden.

Schauen wir uns einige bekannte Beispiele für die Verwendung regulärer Ausdrücke an.

Eine Telefonnummer finden

Mal sehen, wie eine in Indien verwendete Telefonnummer aussieht. Der Ländercode steht an erster Stelle. Es enthält normalerweise ein "+" - Zeichen, gefolgt von der Nummer 91, der Landesvorwahl für Indien. Außerdem beginnen indische Telefonnummern im Allgemeinen mit 6, 7, 8 oder 9. Darauf folgen 9 weitere Ziffern.

Ein gültiger regulärer Ausdruck für eine indische Handynummer wäre also wie angegeben.

^(\+91[\-\s]?)?[0]?(91)?[6-9]\d{9}$

Testen der Stärke von Passwörtern

Die meisten Websites empfehlen uns, eine starke Passwort Hier finden Sie eine Kombination aus Zahlen, Groß- und Kleinbuchstaben sowie Symbolen. Außerdem muss eine Mindestanzahl von Zeichen vorhanden sein - 6 oder 8. Dies geschieht, damit das Kennwort nur schwer zu knacken ist.

Jedes Kennwort, das dieser Regel folgt, kann mithilfe eines regulären Ausdrucks generiert oder auf Kennwortstärke überprüft werden.

^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})

URL-Matching

URLs sind die häufigste Methode, um das Internet zu nutzen und die gewünschte Webseite schnell zu besuchen. Fast jede Website hat eine URL. Daher ist jede URL standardisiert und folgt einem bestimmten Muster. Jede URL folgt entweder dem HTTP- oder dem HTTP-Protokoll, gefolgt von „:/ /"Und der"www" häufig. Dann der Name der Website, gefolgt von einem .com oder .net oder .org usw.

Um die Gültigkeit einer URL zu testen, können wir einen regulären Ausdruck wie den unten angegebenen verwenden.

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)

Datums- und Uhrzeitformate

Datums- und Uhrzeitformate werden auch im Internet sehr häufig verwendet. Es gibt viele Datumsformate, die von einer Vielzahl von Anwendungen, Software oder Systemen verwendet werden. Daten sollten immer in einem Format verwendet werden, das sie für den Benutzer oder die Anwendung, die versucht, sie zu lesen, verwendbar macht.

Ein Datum im Format DD / MM / JJJJ kann mit einem regulären Ausdruck validiert werden, der wie folgt angegeben werden kann.

^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$

Lassen Sie uns nun einige der Online-RegEx-Tools Dies kann nützlich sein, um Fehler zu beheben.

Wenn Sie mehr über reguläre Ausdrücke, deren Beispiele und erweiterte Verwendungen erfahren möchten, finden Sie hier eine Liste von Websites, auf die Sie jederzeit zugreifen können:

Regex101

Regex101 ist ein ausgezeichnetes Nachschlagewerk und ein interaktives Werkzeug zum Erstellen Ihrer regulären Ausdrücke. Es kann Ihnen helfen, sehr schnell mit Regex zu beginnen.

Damit können wir RegEx für die folgenden Sprachen testen.

  • PCR (PHP)
  • ECMAScript (JavaScript)
  • Python
  • GoLang

Es bietet Unterstützung für RegEx-Funktionen wie Übereinstimmungs-, Substitutions- und Komponententests. Abgesehen davon kann man den alten getesteten RegEx speichern.

FreeFormatter

FreeFormatter ist JavaScript-basiert und verwendet die XRegExp-Bibliothek für erweiterte Funktionen. Es erleichtert das Testen eines RegEx gegen ein Match sowie das Ersetzen eines Matches. Es unterstützt die folgenden Flags, die je nach Anforderung beim Testen eines RegEx verwendet werden können

  • i - Groß- und Kleinschreibung wird nicht berücksichtigt
  • m - Mehrzeilig
  • g - Global (nicht beim ersten Spiel aufhören)
  • s - Der Punkt entspricht allen EINSCHLIESSLICHEN Zeilenumbrüchen (nur XRegExp).

Regex Kreuzworträtsel

Wenn Regex und Rätsel Sie interessieren, ist dies die am Standort zu gehen. Es hat eine Reihe von lustigen und interaktiven Rätseln. Sie werden Ihnen definitiv helfen, mehr über reguläre Ausdrücke zu erfahren.

  • Optimiert für Telefone und das Lösen von RegEx-Rätseln unterwegs.
  • Ein Schritt-für-Schritt-Tutorial, in dem Sie die verschiedenen Symbole und RegEx-Muster lernen.
  • Beugen Sie kubistische RegEx-Rätsel mit 2D-Palindrom.
  • Große Auswahl an RegEx-Rätseln mit Schwierigkeiten vom Anfänger bis zum Experten.

RegExr

RegExr ist eine Website, auf der Sie sich mit Regex die Hände schmutzig machen können. Mit diesem Codepen-Äquivalent für reguläre Ausdrücke können Sie Regex schreiben, Muster abgleichen und den ganzen Spaß haben.

Eigenschaften

  • Unterstützt JavaScript und PHP / PCRE RegEx.
  • Die Ergebnisse werden während der Eingabe in Echtzeit aktualisiert.
  • Bewegen Sie den Mauszeiger über eine Übereinstimmung oder einen Ausdruck, um Details zu erhalten.
  • Validieren Sie Muster mit Testsuiten.
  • Speichern und teilen Sie Ausdrücke mit anderen.
  • Vollständige RegEx-Referenz mit Hilfe und Beispielen.

Python

Es ist ein Python-basierter Tester für reguläre Ausdrücke. Python ist eine schnelle Möglichkeit, Ihre regulären Python-Ausdrücke zu testen. Es kommt nämlich mit vier Flaggen

  • Fall ignorieren
  • Mehrzeilig
  • DotAll
  • Ausführlich

Rubel

Rubel ist ein Ruby-basierter Editor für reguläre Ausdrücke. Es unterstützt und nutzt die Ruby 2.5.7 ab Version.

Debuggex

Es basiert auf JavaScript und unterstützt RegEx für Python und Perl Compatible Regular Expressions (PCRE). Verwenden Sie dies Online-Tool Wir können unsere RegEx in StackOverflow einbetten. Es bietet die Möglichkeit, das RegEx-Ergebnis zu teilen, indem für jeden RegEx-Test eine eindeutige Verknüpfung erstellt wird.

ErweitertKlasse

ErweitertKlasse ist eine Toolbox für Entwickler. Es bietet Unterstützung für RegEx-Tests für die folgenden Sprachen.

  • JavaScript
  • Python (3.4)
  • Rubin (2.1)
  • Java (JDK 14)
  • PHP (7)

RegEx-Tester

Dieser Tester für freie reguläre Ausdrücke Mit dieser Option können Sie Ihre regulären Ausdrücke anhand eines Eintrags Ihrer Wahl testen und alle Übereinstimmungen klar hervorheben. Auf diese Weise können wir das alte getestete RegEx zum späteren Nachschlagen speichern. Darüber hinaus unterstützt es JavaScript und PCRE RegEx.

Web-ToolKit

Web-Toolkit enthält eine Reihe von Hilfsprogrammen, RegEx-Tester ist eines davon. Wir können unser RegEx hier eingeben und es gegen einen Wert testen. Es bietet auch eine Möglichkeit zum Ersetzen, Abgleichen und Kopieren der Ausdrücke. Abgesehen davon bietet es einen Umschalter, um eine Übereinstimmung zwischen Groß- und Kleinschreibung und global durchzuführen.

Lernmittel

Wenn Sie RegEx lernen möchten, finden Sie hier einige der besten online verfügbaren Kurse.

Coursera

Coursera bietet interessante geführte Projektkurse an, die Ihnen praktische Erfahrungen mit RegEx vermitteln. Die meisten dieser Projektkurse dauern etwa eine Stunde und Sie arbeiten Schritt für Schritt zusammen mit dem Dozenten. Hier sind einige der besten RegEx-Projekte.

Udemy

Udemy bietet a Kompletter RegEx-Kurs für Anfänger das dir in 3.5 Stunden die Grundlagen beibringt und a Python RegEx-Kurs mit Projekten Dadurch erhalten Sie praktische Erfahrung mit RegEx für die Eingabevalidierung, Datenverarbeitung und Transformation.

Schlussfolgerung

Wir haben die regulären Ausdrücke, einige gängige Beispiele und einige der Online-Beispiele gelernt Testwerkzeuge. Mit diesem Wissen können wir unsere regulären Ausdrücke erstellen und in unseren Anwendungen verwenden.

Teilen:
  • Asad Ali
    Autor
    Asad ist Back-End-Entwickler und liebt es, über wachsende Technologien wie Kafka, AWS, Docker, NoSQL und APIs zu schreiben.

Danke an unsere Sponsoren

Weitere großartige Lektüre zum Thema Entwicklung

Treiben Sie Ihr Geschäft an

Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.