Texte 🔒 Fonctionne dans votre navigateur — aucune donnée envoyée

Regex d'URL

Trouvez les adresses web d'un texte avec un motif court, et voyez exactement où il s'arrête avant de le mettre dans votre code.

/ /
Texte de test
Correspondances et groupes
Les correspondances s'affichent ici...

Regex d'URL

Extraire des liens de journaux, d'exports de discussion ou de texte récupéré par scraping est un travail pour une expression régulière, et le motif doit rester assez court pour être lu. Cette page ouvre le testeur de regex avec le motif URL (http/https) de la Bibliothèque de motifs, https?:\/\/[^\s/$.?#][^\s]*, avec les drapeaux gi.

Comment lire le motif

PartieSignification
https?http, avec un s facultatif
:\/\/Les deux-points et les deux barres obliques, échappés pour que le motif fonctionne aussi entre barres obliques dans le code
[^\s/$.?#]Un caractère qui commence le nom d'hôte : ni espace, ni barre oblique, ni signe dollar, ni point, ni point d'interrogation, ni dièse
[^\s]*Tout le reste jusqu'à la prochaine espace
giTrouver chaque lien, quelle que soit la casse

Ce qu'elle capture et ce qu'elle manque

TexteRésultat
https://logicutil.com/tool/regex-testerL'adresse entière
http://example.org/page?q=1#topL'adresse entière, requête et fragment compris
http://localhost:8080/xL'adresse entière, port compris
HTTPS://EXAMPLE.COM/XTrouvée, grâce au drapeau i
https://例子.测试/路径Trouvée : les domaines et chemins non latins sont conservés
Visit https://example.com.https://example.com., avec le point
(https://example.com/a)https://example.com/a), avec la parenthèse
www.example.comAucune correspondance : il n'y a pas de schéma
ftp://files.example.comAucune correspondance : seulement http et https

Une version plus stricte

Pour laisser de côté la ponctuation finale, terminez la correspondance par un lookahead : https?:\/\/[^\s/$.?#][^\s]*?(?=[\].,;:!?)]*(?:\s|$)). Il prend la séquence la plus courte suivie uniquement de ponctuation puis d'une espace ou de la fin du texte : Visit https://example.com. donne ainsi https://example.com, et (https://example.com/a) donne https://example.com/a. La contrepartie : un lien qui se termine vraiment par une parenthèse, comme certaines adresses de Wikipédia, la perd.

Trouver des liens n'est pas les valider

Un tel motif répond à la question "ce texte contient-il quelque chose qui ressemble à un lien", pas "est-ce une adresse qui fonctionne". Pour une seule valeur en JavaScript, new URL(value) est plus strict : il lève une exception sur https:// sans aucun hôte. Utilisez la regex pour trouver des candidats dans le texte, puis laissez new URL() ou votre serveur trancher.

Pages associées

Transformez les liens trouvés en Markdown avec [$&]($&) sur la page rechercher-remplacer par regex, et voyez comment se comportent les drapeaux sur le testeur de regex JavaScript. Les adresses e-mail ont leurs propres pièges, traités dans le guide des regex pour e-mail.

Guides associés