【问题标题】:Using regex to deal with escape characters in URLs使用正则表达式处理 URL 中的转义字符
【发布时间】:2016-06-22 23:54:04
【问题描述】:

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

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

它可以很好地提取“常规”网址;但是一些 URL 看起来像这样:

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

如何修改正则表达式以处理转义字符,从而获得完整且干净的 URL?

提前非常感谢! :)

【问题讨论】:

    标签: python regex token tokenize


    【解决方案1】:

    正如other question 中所指出的,您不能在网址中添加“\”。 你的正则表达式对我来说似乎没问题,我已经测试了against regxr。我唯一做的就是在 http 之后转义反斜杠。

    【讨论】:

    • 对不起,如果我不清楚,带有反斜杠的 URL(或字符串)已经在我的数据中。所以我试图把 https:\/\/t.co\/c1taPXzi4X 变成 http// t.co/c1taPXzi4X
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-11-27
      • 1970-01-01
      • 2014-04-27
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 2018-04-19
      相关资源
      最近更新 更多