Je suis en train de faire une expression régulière qui permettra de saisir correctement les URL, y compris ceux qui sont enveloppées entre parenthèses comme dans (http://example.com) et parlé de l'horreur de codage à http://www.codinghorror.com/blog/archives/001181.htmlPython Regular Expression pour ajouter des liens vers des urls
J'utilise actuellement ce qui suit pour créer des balises HTML A en python pour les liens commençant par http et www.
r1 = r"(\b(http|https)://([-A-Za-z0-9+&@#/%?=~_()|!:,.;]*[-A-Za-z0-9+&@#/%=~_()|]))"
r2 = r"((^|\b)www\.([-A-Za-z0-9+&@#/%?=~_()|!:,.;]*[-A-Za-z0-9+&@#/%=~_()|]))"
return re.sub(r2,r'<a rel="nofollow" target="_blank" href="http://\1">\1</a>',re.sub(r1,r'<a rel="nofollow" target="_blank" href="\1">\1</a>',text))
Ceci fonctionne bien sauf dans le cas où quelqu'un enveloppe l'url en parens. Est-ce que quelqu'un a un meilleur moyen?