具有所有组合的正则表达式组

我正在研究正则表达式组,对此有一个简单的问题。假设我在Java中有一个基本的正则表达式,例如:

currentDirectoryURL

我有一个匹配器:

Pattern pattern = Pattern.compile("[0-9]{16}");

当我循环播放时,我想被打印:

1111111111111111

1111111111111112

1111111111111122

我想获取所有16个长度数字组合的结果。但这只是打印的:

1111111111111111

能否仅通过修改regexp模式来解决此问题?

sushe302 回答:具有所有组合的正则表达式组

要获得所需的结果,请将代码更改为:

Pattern pattern = Pattern.compile("(?=([0-9]{16}))");
Matcher matcher = pattern.matcher("111111111111111122");
while (matcher.find()) {
    System.out.println(matcher.group(1));
}

请注意呼叫group(1),而不是group(),这与group(0)相同。

输出

1111111111111111
1111111111111112
1111111111111122
本文链接:https://www.f2er.com/3165936.html

大家都在问