首先感谢各位,实在不会写正则,求帮忙
Controller里的路径,需要写一个正则判断这个正则能完全匹配到path
@Path({"/{cityAlias:[a-z]+}/sydc/api/node/{cate:shangpu|xiezilou|changfang|cangku|tudi|chewei}{rentModel:chuzu|chushou|zhuanrang}-list/p{page:[\\d]+}/",
"/{cityAlias:[a-z]+}/sydc/api/node/{cate:shangpu|xiezilou|changfang|cangku|tudi|chewei}{rentModel:chuzu|chushou|zhuanrang}-list/",
"/{cityAlias:[a-z]+}/sydc/api/node/{cate:shangpu|xiezilou|changfang|cangku|tudi|chewei}{rentModel:chuzu|chushou|zhuanrang}-list/{quyuName:[a-z]+}/p{page:[\\d]+}/",
"/{cityAlias:[a-z]+}/sydc/api/node/{cate:shangpu|xiezilou|changfang|cangku|tudi|chewei}{rentModel:chuzu|chushou|zhuanrang}-list/{quyuName:[a-z]+}/",
"/{cityAlias:[a-z]+}/sydc/api/node/{cate:shangpu|xiezilou|changfang|cangku|tudi|chewei}{rentModel:chuzu|chushou|zhuanrang}-list/{quyuName:[a-z]+}-{businessName:[a-z]+}/p{page:[\\d]+}/",
"/{cityAlias:[a-z]+}/sydc/api/node/{cate:shangpu|xiezilou|changfang|cangku|tudi|chewei}{rentModel:chuzu|chushou|zhuanrang}-list/{quyuName:[a-z]+}-{businessName:[a-z]+}/",
})
使用过的正则,但是还不能匹配,变量uriNew是最长的路径,中间的haidian-beijingdaxue可能是haidian,也可能没有,最后的p13也可能没有
Pattern pattern = Pattern.compile("^(/[A-Za-z]*)/sydc/api/node/(shangpu|xiezilou|changfang|cangku|tudi|chewei)(chuzu|chushou|zhuanrang)-list/([A-Za-z]*)(-[A-Za-z]*)");
String uriNew = "/bj/sydc/api/node/shangpuchuzu-list/haidian-beijingdaxue/p13/";
再次感谢大家