【问题标题】:Regex match all websites except for one正则表达式匹配除一个以外的所有网站
【发布时间】:2021-06-06 06:58:51
【问题描述】:

我正在尝试创建一个正则表达式查询来匹配除一个之外的所有可能的网站。

(https?:\/\/)?+(www)?([^:\/]+\.)?mysite\.[a-zA-Z]{1,3}

不幸的是,下面的示例仅适用于搜索该域。

我尝试添加 (!mysite) 但这不起作用。有什么想法吗?

游乐场 https://regex101.com/r/Q4QmVZ/1

【问题讨论】:

    标签: javascript c# regex


    【解决方案1】:

    您可以使用否定的lookbehind排除您的网站并执行以下操作:

    \b(?:https?:\/\/)?(?:www\.)?[a-zA-Z0-9-]+(?<!\bmysite\b)\.[a-zA-Z]{2,4}\b
    

    【讨论】:

    • @Alex 小心,那个lookbehind 也会取消amysite.com
    • 哦.. 这很糟糕。我还尝试添加 ^mysite$,但这似乎无法使其完全匹配
    • 很好,我将其编辑为完全匹配
    【解决方案2】:

    通过消极的展望,您可以排除您不想要的域。

    \b(https?:\/\/)?(www\.)?(?!mysite)[\w-]+\.[a-z]{2,3}\b
    

    它通过了所有给定的测试,但不确定其他测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      相关资源
      最近更新 更多