Ü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()@:%_\+.~#?&//=]*)
Für URLs ohne HTTP /HTTPS-Protokollanforderung:
[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
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"); }
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!