Créez l'expression régulière la plus courte qui correspondra approximativement à une URL dans le texte lorsqu'elle est exécutée en JavaScript
Exemple:
"some text exampley.com".match(/your regular expression goes here/);
L'expression régulière doit
- capturez toutes les URL valides pour http et https.
- ne vous inquiétez pas de ne pas faire correspondre les chaînes de recherche d'URL qui ne sont pas réellement des URL valides comme
super.awesome/cool
- être valide lorsqu'il est exécuté en tant que regex JavaScript
Critères de test:
Rencontre:
- http://example.com
- http://example.com/
- http://example.com/super
- https://example.com/super
- example.com/super
- exemple.com
- example.com/su-per_duper/?add=yes&subtract=no
- example.com/archive/index.html
- twitter.com/#!/reply
- example.com/234ret2398oent/234nth
- codegolf.stackexchange.com/questions/464
- crazy.wow.really.example.com/?cat=nth%3E
- exemple-exemple.com
- example1.com
Ne pas correspondre:
- exemple
- super cool
- Bonjour
- je peux
- Bonjour.
Voici un test qui pourrait aider à clarifier un peu http://jsfiddle.net/MikeGrace/gsJyr/
Je m'excuse pour le manque de clarté, je n'avais pas réalisé à quel point les URL correspondantes étaient affreuses.
\w
pour tout. Vous attendez-vous à des références arrières pour différents composants URL?
/:/
comme expression régulière et faire correspondre des URI valides et ne pas faire correspondre tous vos exemples sur la liste »Pas de correspondance«. Tant que vous empruntez cette route, la question est simplement la suivante: quelle est l'expression régulière la plus courte qui ne correspondra à aucune des chaînes d'exemple mais qui interceptera toujours tous les URI.