re.sub更正URL中的斜杠

时间:2016-10-12 00:40:57

标签: python regex

输入是一个可能包含两个或更多成功斜杠的URL。我用以下两个命令纠正了它,这似乎是非常令人满意的可读解决方案。

我想知道你是否只用一个re.sub()命令就可以实现同样的功能。

url = re.sub("/[/]+", "/", url) # two or more slashes replace with one slash
url = re.sub("http:/", "http://", url) # correct one mistake of the previous command

1 个答案:

答案 0 :(得分:2)

是的,你可以。使用否定lookbehind标记?<!

print(re.sub('(?<!http:)//+', '/', 'http://httpbin.org//ip'))
# http://httpbin.org/ip