У меня есть строка с многострочным контентом, и я хочу выбрать многострочный регион, желательно с использованием регулярного выражения (просто потому, что я сейчас пытаюсь понять Java RegEx).
Рассмотрим ввод, как:
Line 1
abc START def
Line 2
Line 3
gh END jklm
Line 4
Предполагая, что START
и END
являются уникальными и маркерами начала / конца для региона, я хотел бы создать шаблон / сопоставление, чтобы получить результат:
def
Line 2
Line 3
gh
Моя текущая попытка
Pattern p = Pattern.compile("START(.*)END");
Matcher m = p.matcher(input);
if (m.find())
System.out.println(m.group(1));
Но результат
gh
Таким образом, m.start()
, кажется, указывает на начало строки, которая содержит «маркер конца». Я пытался добавить Pattern.MULTILINE
к вызову компиляции, но это (само по себе) ничего не изменило.
Где моя ошибка?