Есть несколько способов сделать это, но вы можете сделать:
String str = "completei4e10";
str = str.replaceAll("completei(\\d+)e.*", "$1");
System.out.println(str); // 4
Или, может быть, шаблон [^i]*i([^e]*)e.*
, в зависимости от того, что может быть вокруг i
и e
.
System.out.println(
"here comes the i%@#$%@$#e there you go i000e"
.replaceAll("[^i]*i([^e]*)e.*", "$1")
);
// %@#$%@$#
[…]
- это класс символов . Что-то вроде [aeiou]
соответствует одному из строчных гласных. [^…]
является отрицательным классом символов. [^aeiou]
соответствует одному из всего, кроме строчных гласных.
(…)
- это группа захвата . *
и +
являются повторением в этом контексте.