【问题标题】:Remove last slash from URL with regex使用正则表达式从 URL 中删除最后一个斜杠
【发布时间】:2020-04-05 18:04:31
【问题描述】:

我有以下正则表达式可以从 URL 中删除最后一个斜杠:

(.*)\/

即:http://www.domain.com/clients/

如果将正则表达式应用于示例,它可以正常工作,但问题是当 URL 没有最后一个斜杠时(它不时发生)。它会删除 /clients

我怎样才能避免这种情况?

【问题讨论】:

  • \/$ 不行吗?什么口味的正则表达式?

标签: regex


【解决方案1】:

正则表达式仅删除 URL 中的最后一个斜杠

\/$

解释:

\/ matches the character / literally
$ assert position at end of a line

DEMO

【讨论】:

    【解决方案2】:

    如果有人想知道:您可以使用 (.*[^\\\/]{1,})([\\\/]{1,}$) 匹配任意数量的斜杠,/\。这对于 URI 可能不是很有用,但对于路径可能很有用,以防您的代码需要在 Windows 和 *NIX 上检查/删除尾部斜杠。

    【讨论】:

      【解决方案3】:

      使用

      (.*)\/$
      

      这意味着 / 在输入的末尾。 希望对你有帮助

      【讨论】:

        猜你喜欢
        • 2011-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多