/ / Regex stop nach dem letzten Schrägstrich - Java, Regex

Regex Stop nach dem letzten Schrägstrich - Java, Regex

Ich bin sehr neu in Regex und versuche das herauszufinden:

/games/athem
/games/athem/countdown

Ich will die ganze linie bis zum letzten bekommen /

Damit /games/athem sollte gültig sein aber nicht /games/athem/countdown

(.*)$

Das gibt mir alles, aber ich möchte bei dem stoppen /. Wie stelle ich sicher, dass es nur funktioniert? /games/ und nicht zum Beispiel /companies/athem?

Wie würde ich das machen? Ich habe versucht zu suchen, konnte aber nichts finden. Es ist einfach sehr verwirrend

Antworten:

2 für die Antwort № 1

Sie dürfen verwenden

^/games/[^/]+$

Siehe die Regex-Demo.

Lassen Sie in Java die Anker aus, wenn Sie das Muster mit verwenden matches() Methode:

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

Beachten Sie, dass Sie nicht ausweichen müssen / in einem String-Muster da / ist kein spezielles Regex-Metazeichen und Java-Regex verwendet keine Regex-Trennzeichen.

Musterdetails

  • ^ - Stringbeginn (implizit in matches())
  • /games/ - ein Literal /games/ Teilzeichenfolge
  • [^/]+ - 1 oder mehr Zeichen außer /
  • $ - Ende der Zeichenfolge (implizit in matches()).