2

我有以下正则表达式:

[^/]+\/?\.\.\/

它应该通过将上述匹配替换为空白来将相对 url 转换为绝对 url。

例子:

http://abv.bg/path/../test

应该转换为

http://abv.bg/test

帮我修改一下,如果我通过了

http://abv.bg/../test

它不会删除域。

我需要使“[^/]+”不匹配中间某处带有点的文本。

4

2 回答 2

1

这应该有效:

((^(?:http://)*[\w.]+)(/.*)(/[\w]+))

用。。。来代替:

$2$4

演示

更新了正则表达式并使该http://部分成为可选的。

于 2012-08-24T16:07:24.217 回答
0

删除(\/[^\/.]+)?\/\.\.满足您的要求,但请注意我的评论。

于 2012-08-25T09:40:42.127 回答