J'ai une application Ruby analyse un tas d'URL à partir de chaînes:Regex pour supprimer le texte avant "http: //"?
@text = "a string with a url http://example.com"
@text.split.grep(/http[s]?:\/\/\w/)
@text[0] = "http://example.com"
Cela fonctionne bien ^^
Mais parfois, les URL ont du texte avant le HTTP: // par exemple
Existe-t-il une regex qui peut sélectionner simplement le texte avant "http: //" dans une chaîne pour que je puisse le supprimer?
Heads up, vous allez avoir la même question à la fin de l'URL aussi, et ce sera beaucoup plus difficile à traiter. – JohnFx
Oui, je suis d'accord avec JohnFx. Regex n'est pas si bon pour ce problème. Les URL correspondantes dans les chaînes ont déjà été demandées sur SO. Jetez un coup d'oeil et voyez quelles solutions ils ont utilisées - c.-à-d. Quelles bibliothèques etc. – Pod