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

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

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

Le shell POSIX (sh) redirige stderr vers stdout et capture stderr et stdout dans des variables