Regex stops at first occurrence in java

I think there is a problem with my regex because when I looked for resolve my problem, I found only question about wanted to stop at the first occurrence. Although, I want my regex to go after the first occurrence.

Here is my code:

String test = "\d";
String word = "a1ap1k7";

Pattern p = Pattern.compile(test);
Matcher b = p.matcher(word);

if (b.find()) {
int start = b.start();
String text = b.group();
int stop = b.end();
System.out.println(start + text + stop);
}



It gives me just: 1(for the start)1(for the text)2(for the end)

You made just a simple error in writing this. You have to keep calling find

public static void main(String[] args){

String test = "\d";
String word = "a1ap1k7";

Pattern p = Pattern.compile(test);
Matcher b = p.matcher(word);

while (b.find())
{
int start = b.start();
String text = b.group();
int stop = b.end();
System.out.println(start + text + stop);
}
}