Extrahieren Was ich versuche, ist auf mein Konto-ID von einer URL für andere Validierungen zu extrahieren. siehe meine URL-Beispiele.Regulärer Ausdruck eine Zeichenfolge aus url
http://localhost:8024/accounts/u8m21ercgelj/
http://localhost:8024/accounts/u8m21ercgelj
http://localhost:8024/accounts/u8m21ercgelj/users?
Was ich erforderlich ist aus der URL zu extrahieren u8m21ercgelj. Ich versuchte es mit folgendem Code aber es funktioniert nicht für die Fälle, wie http://localhost:8024/accounts/u8m21ercgelj
d.h mit out a/am Ende.
public String extractAccountIdFromURL(String url) {
String accountId = null;
if (url.contains("accounts")) {
Pattern pattern = Pattern.compile("[accounts]/(.*?)/");
Matcher matcher = pattern.matcher(url);
while (matcher.find()) {
accountId = matcher.group(1);
}
}
return accountId;
}
Kann mir jemand helfen?
Danke, werde ich meinen Code korrigieren – ANP
Sie sind willkommen. – Pshemo
@ANP Ich wundere mich, warum Sie 'while' anstelle von' if' verwenden. Gehen Sie davon aus, dass es mehr als ein '/ accounts /' in URL geben kann? Wenn nicht, um Leute, die diesen Code pflegen, nicht zu verwirren, sollten Sie ihn in "if" ändern. Aber wenn URL viele '/ accounts /' haben kann, dann kann die gepostete Lösung für Fälle wie '/ accounts/accounts/foo' fehlschlagen (ich könnte versuchen, es zu korrigieren, also lassen Sie mich wissen, wenn eine Korrektur erforderlich ist). – Pshemo