Я хотел бы извлечь подстроку между некоторыми двумя словами, используя java.
Например:
This is an important example about regex for my work.
Я хотел бы извлечь все между "an
" и "for
".
Что я сделал до сих пор:
String sentence = "This is an important example about regex for my work and for me";
Pattern pattern = Pattern.compile("(?<=an).*.(?=for)");
Matcher matcher = pattern.matcher(sentence);
boolean found = false;
while (matcher.find()) {
System.out.println("I found the text: " + matcher.group().toString());
found = true;
}
if (!found) {
System.out.println("I didn't found the text");
}
Хорошо работает.
Но я хочу сделать еще две вещи
-
Если предложение:
This is an important example about regex for my work and for me.
Я хочу извлечь до первого "for
" i.e.important example about regex
-
Несколько раз я хочу ограничить количество слов между шаблоном до 3 слов, т.е.
important example about
Любые идеи, пожалуйста?