假设我有这些行:
/path-to-something/section/resource?var=name
/path-to-something/section/resource
我想使用正则表达式来捕获/ path-to-something /和?之间的文本。标志。所以对于这两种情况,我希望输出为:
section/resource
我能走得最远就是使用这个正则表达式:
(?<=/path-to-something/).+(?=\?)
但是第二种情况(URL没有?符号)失败了:
section/resource
[no match]
有没有办法在正则表达式中做这样的事情?我知道我可以在没有正则表达的情况下做到这一点,但我想知道这是否可以在正则表达式中进行。
答案 0 :(得分:2)
怎么样:
(?<=/path-to-something/)[^?]+