Python正则表达式排除在/之后带有字母的匹配项

时间:2019-01-10 23:04:44

标签: regex python-3.x

我有3个字符串,如下所示:

/ foo

/ foo /

/ foo / bar

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

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

我的正则表达式是

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

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

2 个答案:

答案 0 :(得分:1)

尝试以下模式:

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

说明:

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

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

答案 1 :(得分:0)

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

$

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