使用正则表达式处理URL中的转义字符

时间:2016-06-22 23:54:04

标签: python regex token tokenize

我正在对包含URL的字符串进行标记。以下是我用来获取网址的部分:

regex_str = [r'http[s]?://(?:[a-z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-f][0-9a-f]))+']

它选择"常规"网址完美无缺;但是有些网址看起来像这样:

https:\/\/t.co\/c1taPXzi4X

如何修改正则表达式以便处理转义字符,以便最终得到一个完整而干净的网址?

非常感谢提前! :)

2 个答案:

答案 0 :(得分:0)

正如本other question所指出的,您无法添加" \"在网址中。 你的正则表达式似乎对我好,我已经测试了against regxr。我唯一能做的就是在http。

之后浏览反斜杠

答案 1 :(得分:0)

在应用正则表达式之前调用re.sub将起作用

re.sub(r"\\","",r"https:\/\/abc.com\/defg")