Étant donné l'URL (une seule ligne) :
http://test.example.com/dir/subdir/file.html
Comment puis-je extraire les parties suivantes en utilisant des expressions régulières :
- Le sous-domaine (test)
- Le domaine (exemple.com)
- Le chemin sans le fichier (/dir/subdir/)
- Le fichier (fichier.html)
- Le chemin d'accès au fichier (/dir/subdir/file.html)
- L'URL sans le chemin d'accès ( http://test.example.com )
- (ajoutez tout autre élément que vous jugez utile)
La regex devrait fonctionner correctement même si j'entre l'URL suivante :
http://example.example.com/example/example/example.html
0 votes
Ce n'est pas une réponse directe, mais la plupart des bibliothèques Web ont une fonction qui permet d'accomplir cette tâche. La fonction est souvent appelée de manière similaire à
CrackUrl
. Si une telle fonction existe, utilisez-la, elle est presque garantie comme étant plus fiable et plus efficace que tout code fait à la main.7 votes
Veuillez nous expliquer pourquoi cela doit être fait avec une regex. Si c'est un devoir, dites-le car c'est votre contrainte. Sinon, il existe de meilleures solutions spécifiques au langage que l'utilisation d'une regex.
1 votes
Les liens vers le premier et le dernier échantillon sont cassés.
0 votes
Vous trouverez ici comment extraire le schéma, le domaine, le TLD, le port et le chemin de requête : stackoverflow.com/questions/9760588/