Ihr aktueller Code stimmt nicht mit nackten URLs überein, denen das Präfix „http://“ fehlt. Um dieses Problem zu lösen, sollten Sie die Einführung eines umfassenden regulären Ausdrucks in Betracht ziehen:
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
Dieser erweiterte Ausdruck umfasst die folgenden Funktionen:
Für diejenigen, die das HTTP-Protokoll in ihren Übereinstimmungen nicht benötigen, steht ein alternativer Ausdruck zur Verfügung:
[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
Um die Funktionalität dieser Ausdrücke zu demonstrieren, schauen Sie sich die Online-Testtools unter http://regexr.com?37i6s (für den ersten Ausdruck) an oder http://regexr.com/3e6m0 (für den weniger restriktiven Ausdruck).
Hier ist eine Beispiel-JavaScript-Implementierung mit dem umfassenderen regulären Ausdruck:
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 reguläre Ausdrücke verwenden, um URLs zu erkennen, einschließlich nackter URLs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!