簡體   English   中英

在網址中使用正則表達式找到路徑參數

[英]find the path param using regex in the url

從URL查找路徑參數的正則表達式是什么?

http://localhost:8080/domain/v1/809pA8
https://localhost:8080/domain/v1/809pA8

想要使用正則表達式從上述URL檢索值(809pA8),最好使用java。

我建議你做類似的事情

url.substring(url.lastIndexOf('/') + 1);

如果您真的更喜歡正則表達式,則可以

Matcher m = Pattern.compile("/([^/]+)$").matcher(url);

if (m.find())
    value = m.group(1);

我會嘗試:

String url = "http://localhost:8080/domain/v1/809pA8";
String value = String.valueOf(url.subSequence(url.lastIndexOf('/'), url.length()-1));

我認為這里不需要正則表達式。

編輯:對不起,我犯了一個錯誤:

String url = "http://localhost:8080/domain/v1/809pA8";
    String value = String.valueOf(url.subSequence(url.lastIndexOf('/')+1, url.length()));

看到此代碼在這里工作: https : //ideone.com/E30ddC

正如其他人所指出的,對於您的簡單情況,正則表達式是一個過大的殺傷力。 但是,如果您有更多的案例,這就是為什么您更喜歡正則表達式,那么,如果您使用的是Spring, 請看一下Spring的AntPathMatcher#extractUriTemplateVariables 實際上,與直接使用正則表達式相比,它更適合提取路徑變量。 這里有一些很好的例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM