1

这是一个示例网址:

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

我想要的只是:

/productimages/1679/T716AP1_lg

我目前的代码是:

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

在我上面的示例中有多个查询字符串参数链接之前,这很好用,似乎 & 正在给我带来问题。

4

2 回答 2

2

尝试捕获非点/问题:

regsub(req.url, "^http://.*?/([^?.]+).*$", "\1")
于 2016-05-20T13:18:35.940 回答
1

描述

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

正则表达式可视化

此表达式将执行以下操作:

  • 从给定的链接中找到子页面和文件名,假设文件名是 jpg

例子

现场演示

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

示例文本

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

样本匹配

productimages/1679/T716AP1_lg

解释

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'
----------------------------------------------------------------------
于 2016-05-20T14:01:02.417 回答