Correspondance d'URL : une approche complète des expressions régulières
Lors de l'extraction d'URL à partir d'une entrée, il est crucial de disposer d'une expression régulière robuste capable de gérer divers scénarios. Dans ce cas, l'expression régulière fournie ne parvient pas à correspondre aux URL sans le préfixe de protocole « http » ou « https ». Pour relever ce défi, nous proposons deux expressions régulières alternatives :
Pour les URL nécessitant un protocole HTTP/HTTPS :
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
Pour les URL sans protocole HTTP /Exigence du protocole HTTPS :
[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
Ces expressions régulières capturent efficacement les URL avec ou sans le protocole préfixe. À des fins expérimentales, vous pouvez tester ces expressions sur http://regexr.com?37i6s (avec préfixe de protocole) et http://regexr.com/3e6m0 (sans préfixe de protocole).
Vous trouverez ci-dessous un exemple Implémentation JavaScript :
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"); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!