Heim >Web-Frontend >js-Tutorial >Wie kann ich meinen regulären Ausdruck verbessern, um URLs effektiver zuzuordnen?
Verbesserter regulärer Ausdruck für übereinstimmende URLs
Beim Versuch, URLs aus Benutzereingaben zu erkennen und zu analysieren, ist es wichtig, einen effektiven regulären Ausdruck zu verwenden. In Ihrem Fall erfasst Ihr aktueller Ausdruck zwar einige URL-Formate, berücksichtigt jedoch keine URLs, denen ein explizites Protokollschema fehlt, wie z. B. www.google.com.
Überarbeiteter regulärer Ausdruck
Um dieses Problem zu beheben und einen umfassenden URL-Abgleich sicherzustellen, sollten Sie den folgenden überarbeiteten regulären Ausdruck verwenden:
^(?=\S{1,255}$)(https?://)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
Anatomie des Regex
Dieser überarbeitete reguläre Ausdruck ist weniger restriktiv und findet erfolgreich URLs wie www.google.com sowie solche mit expliziten Protokollen (z. B. http://www. stackoverflow.com).
Beispielimplementierung (JavaScript)
const regex = new RegExp(/(?=\S{1,255}$)(https?://)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)g); const url = 'www.google.com'; if (url.match(regex)) { console.log("URL successfully matched."); } else { console.log("URL did not match."); }
Das obige ist der detaillierte Inhalt vonWie kann ich meinen regulären Ausdruck verbessern, um URLs effektiver zuzuordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!