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

Comment signer la connexion OKEx API version 5 avec websockets ?

Comment obtenir des éléments communs dans une liste imbriquée profonde : mes deux solutions fonctionnent mais prennent du temps

Catalogue Spark avec AWS Glue : base de données introuvable