【问题标题】:How do I recognize strings that do not end with a slash character ('/') using a regex?如何使用正则表达式识别不以斜杠字符 ('/') 结尾的字符串?
【发布时间】:2011-10-27 14:06:03
【问题描述】:

如何匹配未以 / 结尾的字符串。我知道我可以做到这一点/\/$/,如果字符串以/ 结尾,它将匹配,但我如何测试它是否不匹配?

【问题讨论】:

  • 您也可以只测试字符串的最后一个字符是否为斜线......使用正常的字符串操作函数。在 JavaScript 中:str.charAt(str.length-1) !== '/'.
  • @Nikolay:请奖励过去帮助过您的人,并接受您对旧问题的回答。谢谢。

标签: regex


【解决方案1】:

您可以使用否定的character class

/[^\/]$/

然而,这要求字符串至少包含一个字符。如果您还想允许空字符串,您可以使用替代:

/[^\/]$|^$/

另一种方法是使用否定的lookbehind,但请注意,许多流行的正则表达式引擎不支持lookbehinds:

/(?<!\/)$/

【讨论】:

    【解决方案2】:

    你可以通过[^...] 说“不是字符”。在这种情况下,你可以说“not backslash by doing”:/[^\/]$/

    【讨论】:

      【解决方案3】:

      [^\/]$

      ^ 将否定任何字符类表达式。

      【讨论】:

      • 我很乐意看到这些谈判 :)
      • 否定,可能吗? @TimPietzcker :)
      猜你喜欢
      • 1970-01-01
      • 2015-07-14
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 2019-08-26
      相关资源
      最近更新 更多