Если они могут встречаться в одной строке, и вы хотите использовать шаблон, не совпадающий с ними, вы можете использовать группу захвата и жадный жетон закаленный .
\b(?:Name|Age):\h*((?:.(?!(?:Name|Age):))+)
Regex demo | Java демо
Например
final String regex = "\\b(?:Name|Age):\\h*((?:.(?!(?:Name|Age):))+)";
final String string = "fhsdgjfsdk;snfd fsd ;lknf;ksld sldkfj lk \n"
+ "Name: Max Pain\n"
+ "Age: 99 Years\n"
+ "and they df;ml dk fdj,nbfdlkn ......\n\n"
+ "fhsdgjfsdk;snfd fsd ;lknf;ksld sldkfj lk \n"
+ "Name: Max Pain Age: 99 Years\n"
+ "and they df;ml dk fdj,nbfdlkn ......";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println(matcher.group(i));
}
}
Выход
Max Pain
99 Years
Max Pain
99 Years