Die Programmierung hat es einfach gemacht, mit strukturierten und unstrukturierten Textdaten umzugehen. Tools wie reguläre Ausdrücke und externe Bibliotheken erleichtern diese Aufgaben erheblich.

Sie können die meisten Sprachen, einschließlich Python und JavaScript, verwenden, um URLs mithilfe eines regulären Ausdrucks zu validieren. Diese Beispiel-Regex ist nicht perfekt, aber Sie können sie verwenden, um URLs für einfache Anwendungsfälle zu überprüfen.

Ein regulärer Ausdruck zum Validieren einer URL

Die in diesem Artikel vorgestellte Regex zur Validierung einer URL ist nicht perfekt. Es kann mehrere Beispiele für gültige URLs geben, die diese Regex-Validierung möglicherweise nicht bestehen. Dazu gehören URLs mit IP-Adressen, Nicht-ASCII-Zeichen und Protokolle wie FTP. Die folgende Regex validiert nur die gängigsten URLs.

Die Regex betrachtet eine URL als gültig, wenn sie die folgenden Bedingungen erfüllt:

  1. Die Zeichenfolge sollte mit entweder beginnen http oder https gefolgt von ://.
  2. Die kombinierte Länge von Subdomain und Domain muss zwischen 2 und 256 liegen. Es sollte nur alphanumerische Zeichen und/oder Sonderzeichen enthalten.
    instagram viewer
  3. Die TLD (Top-Level-Domain) sollte nur alphabetische Zeichen enthalten und zwischen zwei und sechs Zeichen lang sein.
  4. Das Ende des URL-Strings kann alphanumerische Zeichen und/oder Sonderzeichen enthalten. Und es könnte sich null oder mehrmals wiederholen.

Sie können eine URL in JavaScript mit dem folgenden regulären Ausdruck validieren:

^(http (s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$

In ähnlicher Weise können Sie die folgende Regex verwenden, um eine URL in Python zu validieren:

^((http|https)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$

Wo:

  • (http|https)://) stellt sicher, dass die Zeichenfolge entweder mit http oder https gefolgt von :// beginnt.
  • [-a-zA-Z0-9@:%._\\+~#?&//=] kennzeichnet alphanumerische Zeichen und/oder Sonderzeichen. Die erste Instanz dieses Satzes stellt den Satz von Zeichen dar, der in der Subdomäne und im Domänenteil zulässig ist. Während die zweite Instanz dieses Satzes den Satz von Zeichen darstellt, der in der Abfragezeichenfolge oder im Teil des Unterverzeichnisses zulässig ist.
  • {2,256} repräsentiert 2 bis 256 (beide einschließlich) Male des Vorkommensindikators. Dies zeigt an, dass die kombinierte Länge der Subdomäne und der Domäne zwischen zwei und 256 liegen muss.
  • \. stellt das Punktzeichen dar.
  • [a-z]{2,6} bedeutet alle Kleinbuchstaben von a bis z mit einer Länge zwischen zwei und sechs. Dies stellt den Satz von Zeichen dar, der im Domänenteil der obersten Ebene zulässig ist.
  • \B stellt die Grenze eines Wortes dar, d.h. den Anfang eines Wortes oder das Ende eines Wortes.
  • * ist ein Wiederholungsoperator, der null oder mehr Kopien der Abfragezeichenfolge, Parameter oder Unterverzeichnisse angibt.
  • ^ Und $ geben den Anfang und das Ende der Zeichenfolge an.

Wenn Sie sich mit dem obigen Ausdruck unwohl fühlen, überprüfen Sie es Ein Leitfaden für Anfänger zu regulären Ausdrücken Erste. Reguläre Ausdrücke brauchen etwas Zeit, um sich daran zu gewöhnen. Erkunden Sie einige Beispiele wie Validierung von Benutzerkontodetails mit regulären Ausdrücken sollte helfen.

Die obige Regex erfüllt die folgenden URL-Typen:

  • https://www.something.com/
  • http://www.something.com/
  • https://www.something.edu.co.in
  • http://www.url-with-path.com/path
  • https://www.url-with-querystring.com/?url=has-querystring
  • http://url-without-www-subdomain.com/
  • https://mail.google.com

Verwenden des regulären Ausdrucks in einem Programm

Der in diesem Projekt verwendete Code ist in a GitHub-Repository und steht Ihnen unter der MIT-Lizenz kostenlos zur Verfügung.

Dies ist ein Python-Ansatz zur Validierung einer URL:

importieren Betreff

defvalidateURL(URL):
Regex = "^((http|https)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$"
r = neu kompilieren (regex)

Wenn (Betreff.suchen(R, URL)):
drucken("Gültig")
anders:
drucken("Ungültig")

URL1 = "https://www.linkedin.com/"
validateURL(url1)
url2 = "http://apple"
validateURL(url2)
url3 = "iywegfuykegf"
validateURL(url3)
url4 = "https://w"
validateURL(url4)

Dieser Code verwendet Pythons neu kompilieren () -Methode zum Kompilieren des regulären Ausdrucksmusters. Diese Methode akzeptiert das Regex-Muster als Zeichenfolgenparameter und gibt ein Regex-Musterobjekt zurück. Dieses Regex-Musterobjekt wird weiter verwendet, um mithilfe von nach Vorkommen des Regex-Musters innerhalb der Zielzeichenfolge zu suchen Forschung() Methode.

Wenn es mindestens eine Übereinstimmung findet, wird die Forschung() -Methode gibt die erste Übereinstimmung zurück. Beachten Sie, dass Sie die verwenden müssen, wenn Sie nach allen Übereinstimmungen mit dem Muster aus der Zielzeichenfolge suchen möchten re.findall() Methode.

Durch Ausführen des obigen Codes wird bestätigt, dass die erste URL gültig ist, der Rest jedoch nicht.

Auf ähnliche Weise können Sie eine URL in JavaScript mit dem folgenden Code validieren:

FunktionvalidateURL(URL) {
Wenn(/^(http (s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/g.test (URL)) {
Konsole.log ('Gültig');
} anders {
Konsole.log ('Ungültig');
}
}

validateURL("https://www.linkedin.com/");
validateURL("http://apple");
validateURL("iywegfuykegf");
validateURL("https://w");

Auch hier bestätigt die Ausführung dieses Codes, dass die erste URL gültig und die restlichen ungültig sind. Es verwendet JavaScript passen() -Methode, um die Zielzeichenfolge mit einem regulären Ausdrucksmuster abzugleichen.

Validieren Sie wichtige Daten mit regulären Ausdrücken

Sie können reguläre Ausdrücke verwenden, um Text zu suchen, abzugleichen oder zu analysieren. Sie werden auch für die Verarbeitung natürlicher Sprache, den Musterabgleich und die lexikalische Analyse verwendet.

Sie können dieses leistungsstarke Tool verwenden, um wichtige Arten von Daten wie Kreditkartennummern, Benutzerkontodetails, IP-Adressen und mehr zu validieren.