【问题标题】:Python Regex exclude matches with letters after /Python Regex 排除 / 之后的字母匹配
【发布时间】:2019-06-05 21:12:57
【问题描述】:

我有3个字符串如下:

/foo

/foo/

/foo/bar

如果字符串匹配前 2 个模式,我想返回 True

如果字符串在第二个正斜杠之后有任何内容我想返回 False

我的正则表达式是

re.match(r"^/[a-z]+/?", string)

我不知道如何排除第三种模式。请帮忙。 :-)

【问题讨论】:

    标签: regex python-3.x


    【解决方案1】:

    试试这个模式:

    ^\/[^\/]*\/?$
    

    解释:

    • ^: 单词开头
    • \/: 正斜杠开头
    • [^\/]* 任意数量的非正斜杠字符。如果您希望这只是字母,您可以将其设为 [a-x]*
    • \/? 可选正斜杠
    • $ 词尾 - 没有更多字符

    您可以通过示例here 进行尝试,并查看示例代码here

    【讨论】:

    • 太棒了!!太感谢了。 :-)
    【解决方案2】:

    您可以使用$ 来表示字符串的结尾:

    ^/[a-z]+/?$
    

    演示:https://regex101.com/r/v12sWr/1

    【讨论】:

      猜你喜欢
      • 2023-02-13
      • 1970-01-01
      • 2022-06-28
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多