Вы вообще не нуждаетесь в регулярных выражениях.
Просто используйте подстроку: yourString.substring(4,7)
Поскольку вам нужно использовать регулярные выражения, вы можете сделать это следующим образом:
Pattern pattern = Pattern.compile(".{4}(.{3}).*");
Matcher matcher = pattern.matcher("testXXXtest");
matcher.matches();
String whatYouNeed = matcher.group(1);
Что это значит, шаг за шагом:
.{4}
- любые четыре символа
(
- начать захват группы, то есть то, что вам нужно
.{3}
- любые три символа
)
- группа захвата конца, вы получили это сейчас
.*
, за которыми следуют 0 или более произвольных символов.
matcher.group(1)
- получить 1-ю (единственную) группу захвата.