I have a string like
String string = \"number0 foobar number1 foofoo number2 bar bar bar bar number3 foobar\";
I need a regex to give me th
So you want number
(+ an integer) followed by anything until the next number
(or end of string), right?
Then you need to tell that to the regex engine:
Pattern pattern = Pattern.compile("number\\d+(?:(?!number).)*");
In your regex, the .*
matched as much as it could - everything until the end of the string. Also, you made the second part (number\\d+)?
part of the match itself.
Explanation of my solution:
number # Match "number"
\d+ # Match one of more digits
(?: # Match...
(?! # (as long as we're not right at the start of the text
number # "number"
) # )
. # any character
)* # Repeat as needed.