我有以下部分URL,可以是
/it/xyz/test/param+1/param-2/1234/gfd4
首先是两个字母,一个斜杠,另一个未知字符串,然后是斜杠之间的一系列可重复字符串,我需要捕获每个字符串(我知道带有/定界符的拆分可以很好,但我想知道如何用regex提取)。我首先说的是这个:
^\/([a-zA-Z]{2})\/([a-zA-Z]{1,10})(\/[a-zA-Z1-9\+\-]+)但它只捕捉到
group1: it group2: xyz group3: /test
当然,它忽略了字符串的其余部分。
如果我在结尾加上一个*符号,它只捕捉到最后一句:
^\/([a-zA-Z]{2})\/([a-zA-Z]{1,10})(\/[a-zA-Z1-9\+\-]+)*group1: it group2: xyz group3: /gfd4
因此,我显然缺少一些基本面,因此,除了适当的正则表达式,我想有一个解释。
我将其标记为Java,因为解析正则表达式的引擎是JDK 7。据我所知,每个引擎可能有不同之处。
发布于 2017-10-29 08:46:47
https://stackoverflow.com/questions/46998323
复制相似问题