正则表达式:匹配url中间的字符

时间:2015-09-11 12:55:30

标签: regex

我有这样的网址:

 http://dve.abc-de.com/some/fol/try/AB+C/folder/folder

 http://dve.abc-de.com/some/fol/try/try2/AB+C/bla/blu/

我需要匹配http://vcs.abc-de.com/some/fol/和/ AB + C /之间的任何内容。所以我的正则表达式应该返回:

try
try/try2

第一部分http://dve.abc-de.com/some/fol/始终相同,最后一部分始终以/ AB + C开头,然后是一些东西。

我只设法将http://vcs.abc-de.com/some/fol/或/ AB + C与lookbehinds和lookaheads匹配,但从未设法匹配这两者之间的字符串。

我尝试了类似的东西(我知道这是错的,但我不能重建它了)

(?<=(http://vcs\.abc-de\.com/some/fol/)(.*?)(?=/AB+C*\))

我如何构建这个?

3 个答案:

答案 0 :(得分:1)

积极展望未来并积极展望你的工作

/(?<=fol\/).*(?=\/AB\+C\/)/g

/(?<=http\:\/\/dve\.abc-de\.com\/some\/fol\/).*(?=\/AB\+C\/)/g

<强> Test regex here

答案 1 :(得分:1)

您可以使用positive lookaheadpositive lookbehind之类的

(?<=fol\/)(.*?)(?=\/AB\+C)/g

这将获得fol//AB+C之间的值,trytry/try2超过给定的网址

Regex

答案 2 :(得分:0)

这适用于 JavaScript 正则表达式。

/.*?(try.*?)\/AB\+C/g

示例...

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