2016-05-20 10 views
1

Hier ist eine URL Beispiel:Fangwert links von Abfragezeichenfolgeflag mit regsub

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

Was ich von diesem will, ist nur:

/productimages/1679/T716AP1_lg 

Mein aktueller Code ist:

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

Was funktioniert gut, bis es mehrere Query String Parameter Link in meinem Beispiel oben gibt, scheint die & cau ist sing mir Probleme.

+0

dort Parameter immer mindestens eine Abfrage ist? – Bohemian

+0

Ja, gibt es einen Grund für die Abstimmung unten? – Slee

+0

Ich habe nicht abgestimmt. Die Frage sieht für mich OK aus. – Bohemian

Antwort

2

Versuchen Erfassung nicht-Punkte/Fragen statt:

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

Beschreibung

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

Regular expression visualization

Dieser Ausdruck folgendes tun: die Unterseite

  • finden und Filena ich aus dem gegebenen Link, die Dateinamen unter der Annahme ist eine jpg

Beispiel

Live Demo

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

Beispieltext

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

Probe Spiele

productimages/1679/T716AP1_lg 

Erklärung

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' 
----------------------------------------------------------------------