正则表达式匹配URL中的特定路径段

时间:2017-08-01 16:02:35

标签: java regex url

我想提出一个与URL路径中的特定路径段(比如/ foo)匹配的正则表达式。正则表达式适用于url,其中/ foo可能在结尾,开头或之间发生,但不适用于它是单词的一部分

http://localhost:9001/v1/blobs/foo - > [30,34] / foo

http://localhost:9001/v1/blobs/foobar - >没有比赛

http://localhost:9001/v1/blobs/foo/bar - > [30,34] / foo

解决方案:

有效的是: -

/foo(?=/|$)

http://fiddle.re/zxhxzn

3 个答案:

答案 0 :(得分:0)

这对我有用:

匹配整行:

 ".*/foo(/|$).*"

仅匹配/ foo

"(/foo)(?=/|$)"

如果你在foo之后的行尾有空格,它就不会工作,你可以用"替换$。 * $"如果需要的话。

答案 1 :(得分:0)

这是我的回答,。* ==>任何字符, [/,\ s] ==>以/或没有结束

.*(\/foo)[\/,\s]

答案 2 :(得分:0)

这就是我最终完成的工作

/foo(?=/|$)

http://fiddle.re/zxhxzn