【问题标题】:How to use sed to match any URL?如何使用 sed 匹配任何 URL?
【发布时间】:2014-08-06 18:41:54
【问题描述】:

我正在尝试用单个标记替换大量文档中的所有 URL,但是我正在执行的正则表达式似乎不起作用

s/www\.[a-z|0-9]*[.a-z]*/urltoken/g

这将匹配 www.example.com 或 www.example.com.co。但是,如果在那之后还有其他字符或单词的组合,例如 www.foo.bar?q=lol 或 www.regexr.com/index.html?q=bar。在验证 url 的第一部分后,我想适合任何字符组合,即 www.example.com.co_(这些字符在这里)_,但是在遇到单个空格之前。什么样的正则表达式可以适合 sed?

【问题讨论】:

    标签: regex linux bash sed


    【解决方案1】:

    sed 's/www\.[^ ]*/urltoken/g' file

    【讨论】:

    • 这将匹配 url 之后不是空格的任何内容。例如,如果 url 是 html 文件的一部分,则可能会发生这种情况:<a href="www.example.com">bruh</a>
    猜你喜欢
    • 2019-06-10
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-30
    • 2016-10-20
    相关资源
    最近更新 更多