java正则使用全记录!
一 开坑!
场景: 将动态uri中{} 替换成 至少出现一次的任意字符进行匹配,
比如 loclahost:8080/{name}/{9527} -> localhost:8080/.{1,}/.{1,} 来匹配任意动态请求
正则:
注意点:
.* : 匹配任意字符出现任意次,也可以是空字符串(换行符除外)
* 与{1,}这些表示出现次数的不能连用,如果匹配出现至少一次字符, 直接用 .{1,}或者 .+
\是转义,匹配\需要使用\\ , 因为{ 是限定开始符,所以需要\{进行转义,代表他本来意思,就是普通{
String replaceAll = wapi.replaceAll("\\{.*}", ".{1,}"); Pattern compile = Pattern.compile(replaceAll); Matcher matcher = compile.matcher(requestURI); if(matcher.find())return null;