正则表达式在最后一次斜线后停止

时间:2017-10-06 07:29:09

标签: java regex

我对正则表达式很新,我想弄明白:

/games/athem
/games/athem/countdown

我希望得到整行直到最后一个/

所以/games/athem应该有效 但不是/games/athem/countdown

(.*)$

这给了我一切,但我想停在/。另外,如何确保它仅适用于/games/,而不是/companies/athem

我该怎么做?我试着搜索但找不到东西。它真的很混乱

1 个答案:

答案 0 :(得分:2)

您可以使用

^/games/[^/]+$

请参阅regex demo

在Java中,使用带有matches()方法的模式时省略锚点:

s.matches("/games/[^/]+")

请注意,您不需要以字符串模式转义/,因为/不是特殊的正则表达式字符串,而且Java正则表达式不使用正则表达式分隔符。

模式详情

  • ^ - 字符串的开头(隐含在matches()
  • /games/ - 文字/games/子字符串
  • [^/]+ - 除/
  • 以外的1个或多个字符
  • $ - 字符串结尾(隐含在matches()中)。