我有Spring MVC的URL在接口定義(只是爲了保持常量),如:正則表達式替換春@RequestMapping URL @PathVariable值
String URL_X = "/my-url/{id:[0-9]*}";
String URL_Y = "/my-url/{id:[0-9]*}/blah-blah";
我有我的測試,更換變量的方法一個URL:
private static final String REGEX_PARAMETROS_DA_URL = "(\\{[^\\}]*\\})";
protected String replaceParametersOnURL(String urlSpring, String... params) {
String urlAtual = urlSpring;
for (String parametro : params) {
urlAtual = urlAtual.replaceFirst(REGEX_PARAMETROS_DA_URL, parametro);
}
return urlAtual;
}
我就是用這個正則表達式:(\{[^\}]*\})
相匹配的變量並更換。 但現在我有一些網址的有{}它,我無法找到正確的正則表達式與我的價值來替代該變量。
是否有替換PathVariable值或任何人都可以幫我這個正則表達式在春天的任何方法?
鑑於此URL,例如:
/pessoajuridica/{cnpj:[0-9]{14}}-{slug:[a-zA-Z0-9-]+}/sancoes/resumo
的比賽必須是:{cnpj:[0-9]{14}}
和{slug:[a-zA-Z0-9-]+}
有你拿了看看Spring MVC的測試文檔[服務器執行請求(http://docs.spring.io/spring-framework/docs/ 3.2.0.BUILD-SNAPSHOT /參考/ htmlsingle /#彈簧-MVC測試 - 服務器 - 執行 - 請求) – nbsp
'(\ {*?\} +)'..? –
@Thomas這解決了這個問題的specifica,但如果我發現了一個更復雜的正則表達式像{CNPJ:[0-9] {14} [A-Z]}它不會工作! =/ – renanlf