J'ai trouvé une très belle URL regex matcher sur ce site: http://daringfireball.net/2010/07/improved_regex_for_matching_urls. Il indique qu'il est libre d'utiliser et qu'il est compatible avec plusieurs langues (y compris Javascript). Tout d'abord, je dois échapper à certains slash pour le compiler du tout. Quand je fais ça, ça marche bien sur Rubular.com (où je teste généralement les regex), avec l'effet secondaire étrange que chaque match a 5 champs: 1 est l'url, et les 4 supplémentaires sont vides. Quand je mets ceci dans JS, j'obtiens l'erreur "Groupe Invalide". J'utilise Node.js si cela fait une différence, mais j'aimerais pouvoir comprendre cette erreur. Je voudrais réduire les champs inutiles de correspondance vides, mais je ne sais même pas par où commencer à diagnostiquer cette bête. Voici ce que j'ai eu après m'être échappé:aider à faire une regex "universelle" Javascript compatible
(?xi)\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))