1
我試圖分裂使用Java正則表達式這種類型的字符串:Java的正則表達式來解析路徑分成多個可選組
/api/vX/client/domain/category/id
粗製濫造成這樣:
(?:/api)?(?:/vX)?(/client/domain/...)?(?:/category)?(?:...)?
我將它分割成以下基團:
- [0]/API
- [1]/VX(1-x)的
- [2]/client/domain(/ a/b/...)(以下分類)
- [3]/category1 | /產品組別
- [4] /一切
現在,我想我們這樣的正則表達式,但它只是不工作,我期待它的方式。
(\/api)?(\/v\d+)?(\/\w+)(\/category1|category2\/?.*)?
我還需要考慮到尾隨/斜線開頭,並期望以斜槓開頭總是會啓動一個段,但結尾的斜線可能會或可能不會在那裏(除非有下一段)。
的路徑,我試圖實現輸出的一些例子是:
/client:
[0], [1], [2]=/client, [3], [4]
/api/client:
[0]=/api, [1], [2]=/client, [3], [4]
/api/v1/client/domain:
[0]=/api, [1]=/v1, [2]=/client, [3], [4]
/api/v1/client/domain/category1:
[0]=/api, [1]=/v1, [2]=/client/domain, [3]=/category1, [4]
api/v1/client/d1/d2/d3/category1:
[0]=/api, [1]=/v1, [2]=/client/d1/d2/d3, [3]=/category1, [4]
/api/v2/client/domain/category2/id:
[0]=/api, [1]=/v2, [2]=/client/domain, [3]=/category2, [4]=/id
[看看Regexplanet](http://fiddle.re/ekebh6),想法也許有幫助。點擊Java。 –