2016-05-20 1 views
1

Voici un exemple d'URL:valeur de capture à la gauche de querystring utilisant regsub

https://mydomainname.net/productimages/1679/T716AP1_lg.jpg?w=125&h=125&tstamp=05/19/2016%2015:08:30 

Ce que je veux de c'est juste:

/productimages/1679/T716AP1_lg 

Mon code actuel est:

regsub(req.url, "^/(.*)\.(.*)$", "\1") 

Ce qui fonctionne bien jusqu'à ce qu'il y ait plusieurs liens de paramètres de chaîne de requête dans mon exemple ci-dessus, semble le & est cau Chante-moi des problèmes.

+0

est-il toujours au moins un paramètre de requête? – Bohemian

+0

oui il y a, une raison pour le vote à la baisse? – Slee

+0

Je n'ai pas voté. La question me semble OK. – Bohemian

Répondre

2

Essayez la capture non-points/questions au lieu:

regsub(req.url, "^http://.*?/([^?.]+).*$", "\1") 
1

Description de

^https:\/\/[^\/]+\/([^.]*)\.jpg 

Regular expression visualization

Cette expression, procédez comme suit:

  • trouver le sous-page et filena moi du lien donné, en supposant que le nom de fichier est un jpg

Exemple

Live Demo

https://regex101.com/r/nZ7eX7/1

Exemple de texte

https://mydomainname.net/productimages/1679/T716AP1_lg.jpg?w=125&h=125&tstamp=05/19/2016%2015:08:30 

échantillon Matchs

productimages/1679/T716AP1_lg 

Explication

NODE      EXPLANATION 
---------------------------------------------------------------------- 
^      the beginning of the string 
---------------------------------------------------------------------- 
    https:     'https:' 
---------------------------------------------------------------------- 
    \/      '/' 
---------------------------------------------------------------------- 
    \/      '/' 
---------------------------------------------------------------------- 
    [^\/]+     any character except: '\/' (1 or more 
          times (matching the most amount possible)) 
---------------------------------------------------------------------- 
    \/      '/' 
---------------------------------------------------------------------- 
    (      group and capture to \1: 
---------------------------------------------------------------------- 
    [^.]*     any character except: '.' (0 or more 
          times (matching the most amount 
          possible)) 
---------------------------------------------------------------------- 
)      end of \1 
---------------------------------------------------------------------- 
    \.jpg      '.jpg' 
----------------------------------------------------------------------