正则表达式匹配这个简单的模式

时间:2016-06-06 08:50:46

标签: regex

我需要帮助匹配一个简单的模式,通过正则表达式。

如果一个字符串(用于url)以'/'(没有单个qoutes)和更多字符串结尾,那么它是真的。如果它只以'/'结尾(没有单个qoutes),那么它就是假的。 所以这些例子都是正确的:

  • / DA /
  • / DA / TEST1 /
  • / DA / TEST1 / TEST2 /

这些都是假的:

  • /
  • / DA
  • / DA / TEST1
  • / DA / TEST1 / TEST2

我很亲密,但没有运气。请帮我修改我的正则表达式。这就是我所拥有的:

^(.*)/$

由于

4 个答案:

答案 0 :(得分:1)

您还需要使用“+”通配符来导致匹配一个或多个前面的表达式:

^.+/$

此外,如果您不需要匹配结果,则括号过多。

答案 1 :(得分:0)

您使用的是使用/字符作为正则表达式分隔符的系统吗?如果是这样,你也必须转义那个字符,所以最终的Regex语句将是:

/(.*)\/$/

答案 2 :(得分:0)

为什么要捕捉以前的符号?

#./$#

任何字符(.), 那么/字符, 最后一个结束符号($)。

答案 3 :(得分:0)

不需要使用组,因为您可以简单地检查模式是否与输入字符串匹配。如果输入字符串以正斜杠开头和结尾,则您的模式应该匹配。您可以使用以下正则表达式。

/^\/.*\/$/

此模式也将匹配//。如果这不是你想要的,你只需用加号(*)替换星号(+)。