Heim > Web-Frontend > js-Tutorial > Wie kann ich robuste reguläre Ausdrücke erstellen, um URLs mit und ohne Protokollpräfixe abzugleichen?

Wie kann ich robuste reguläre Ausdrücke erstellen, um URLs mit und ohne Protokollpräfixe abzugleichen?

Barbara Streisand
Freigeben: 2024-12-24 05:54:17
Original
968 Leute haben es durchsucht

How Can I Create Robust Regular Expressions to Match URLs with and without Protocol Prefixes?

Übereinstimmende URLs: Ein umfassender Ansatz für reguläre Ausdrücke

Beim Extrahieren von URLs aus Eingaben ist es wichtig, über einen robusten regulären Ausdruck zu verfügen, der verschiedene verarbeiten kann Szenarien. In diesem Fall kann der bereitgestellte reguläre Ausdruck keine URLs ohne das Protokollpräfix „http“ oder „https“ zuordnen. Um dieser Herausforderung zu begegnen, schlagen wir zwei alternative reguläre Ausdrücke vor:

Für URLs, die ein HTTP/HTTPS-Protokoll erfordern:

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

Für URLs ohne HTTP /HTTPS-Protokollanforderung:

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

Diese regulären Ausdrücke erfassen effektiv URLs mit oder ohne das Protokollpräfix. Zu Versuchszwecken können Sie diese Ausdrücke unter http://regexr.com?37i6s (mit Protokollpräfix) und http://regexr.com/3e6m0 (ohne Protokollpräfix) testen.

Unten finden Sie ein Beispiel JavaScript-Implementierung:

const expression = /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/gi;
const regex = new RegExp(expression);
const t = 'www.google.com';

if (t.match(regex)) {
  alert("Successful match");
} else {
  alert("No match");
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich robuste reguläre Ausdrücke erstellen, um URLs mit und ohne Protokollpräfixe abzugleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage