Java 最后一次斜杠后的正则表达式停止

Java 最后一次斜杠后的正则表达式停止,java,regex,Java,Regex,我对regex非常陌生,我正试图弄明白这一点: /games/athem /games/athem/countdown 我想把整条线一直排到最后一条/ 所以/games/athem应该是有效的 但不是/games/athem/countdown (.*)$ 这给了我一切,但我想停在/。另外,我如何确保它只在/games/上工作,而不在例如/companys/athem上工作 我该怎么做?我试着找,但找不到什么。这真是让人困惑你可以用 ^/games/[^/]+$ 看 在Java中,将模式与

我对regex非常陌生,我正试图弄明白这一点:

/games/athem
/games/athem/countdown
我想把整条线一直排到最后一条/

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

(.*)$
这给了我一切,但我想停在
/
。另外,我如何确保它只在
/games/
上工作,而不在例如
/companys/athem
上工作

我该怎么做?我试着找,但找不到什么。这真是让人困惑

你可以用

^/games/[^/]+$

在Java中,将模式与
matches()
方法一起使用时,省略锚定:

s.matches("/games/[^/]+")
注意:您不需要以字符串模式转义
/
,因为
/
不是特殊的正则表达式元字符,Java正则表达式不使用正则表达式分隔符

图案细节

  • ^
    -字符串的开头(在
    匹配()中隐含)
  • /games/
    -文字
    /games/
    子字符串
  • [^/]+
    -1个或多个字符,而不是
    /
  • $
    -字符串结尾(隐式在
    匹配()中)

也许可以?太好了,可以了!我现在也逃脱了^(?:\/[^\/]+){2}$为什么要转义
/
?你在使用JavaScript吗?什么是工具/语言?哦,我不必那么做?不要使用Java。我如何确保它只在/games/上运行,而不在/companys/athmw上运行?为什么不仅仅是
^(.*/)+
?@chetan OP似乎只需要两个子部分,从
游戏开始