我对正则表达式很新,我想弄明白:
/games/athem
/games/athem/countdown
我希望得到整行直到最后一个/
所以/games/athem
应该有效
但不是/games/athem/countdown
(.*)$
这给了我一切,但我想停在/
。另外,如何确保它仅适用于/games/
,而不是/companies/athem
?
我该怎么做?我试着搜索但找不到东西。它真的很混乱
答案 0 :(得分:2)
您可以使用
^/games/[^/]+$
请参阅regex demo。
在Java中,使用带有matches()
方法的模式时省略锚点:
s.matches("/games/[^/]+")
请注意,您不需要以字符串模式转义/
,因为/
不是特殊的正则表达式字符串,而且Java正则表达式不使用正则表达式分隔符。
模式详情
^
- 字符串的开头(隐含在matches()
)/games/
- 文字/games/
子字符串[^/]+
- 除/
$
- 字符串结尾(隐含在matches()
中)。