Expression régulière pour extraire la chaîne des URL

J'ai besoin d'extraire une chaîne d'une URL. Voici quelques exemples:

Entrée: https://www.example.net/eur_en/bas-026-009-basic-baby-hat-beige.html – Sortie: bas-026-009

Entrée: https://www.example.net/eur_en/aw18-245-b86-big-cherries-snow-jacket-plum-red.html – Sortie: aw18-245-b86

Entrée: https://www.example.net/eur_en/ss20-028-e70-hearts-tee-off-white-yellow.html – Sortie: ss20-028-e70

Je veux pouvoir extraire la chaîne qui va du premier caractère après le "/eur_en/" jusqu'au troisième tiret. Est-ce que quelqu'un peut m'aider? Merci


Solution du problème

The expression you're looking for is the following:

/(?<=eur_en\/)[^-]*-[^-]*-[^-]*/

Voici comment cela fonctionne :


  • (?<=eur_en\/): cherchera derrière eur_env/mais ne l'utilisera pas dans la sortie

  • [^-]*: il correspondra à tout caractère qui n'est pas un tiret. Ainsi, il obtiendra tout jusqu'au premier tiret (sans compter le tiret)

  • [^-]*: il correspondra à tout caractère qui n'est pas un tiret. Ainsi, il obtiendra tout jusqu'au deuxième tiret (sans compter le tiret)

  • [^-]*: il correspondra à tout caractère qui n'est pas un tiret. Ainsi, il obtiendra tout jusqu'au troisième tiret (sans compter le tiret).

Commentaires

Posts les plus consultés de ce blog

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Détecter les appuis sur les touches fléchées en JavaScript

Une chaîne vide donne "Des erreurs ont été détectées dans les arguments de la ligne de commande, veuillez vous assurer que tous les arguments sont correctement définis"