【问题标题】:Why does regex match the symbol "m"为什么正则表达式匹配符号“m”
【发布时间】:2019-07-11 17:36:58
【问题描述】:

此正则表达式匹配示例输入中的最后一个“m”。如何避免这种匹配?

示例:https://regex101.com/r/WZmdfH/2/

尝试过正则表达式:[^:](\/\/) 尝试输入:https://www.example.com//

我希望正则表达式能找到所有双斜杠 (//),https:// 中的第一个斜杠除外。

我想替换https://example.com/123/345//123//909 等网址中的所有//(第一个除外)

【问题讨论】:

  • 您正在搜索 not : 并且 后跟 // 的东西,而 m// 对此感到满意。你到底想匹配什么?你能举一个更好的例子来说明你想要做什么,比如匹配域名等吗?
  • 我正在等待它正则表达式首先找到所有 '//' 排除 // https://
  • 举个例子说明你需要什么?我无法理解你的意思:)。使用您需要的确切输出修改问题。
  • 我需要替换所有 // in url example.com/123/345//123//909 首先排除 // https: // www.example.com/123/345//123//909

标签: regex


【解决方案1】:

您可以使用 否定 lookbehind 来实现:

(?<!:)(\/\/)

如果你想更精确,你也可以包括http(s)

(?<!https:|http:)\/\/

请参阅此 Regex101 示例。

【讨论】:

    猜你喜欢
    • 2014-05-21
    • 2020-01-31
    • 2012-01-11
    • 2022-01-04
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多