Regex: захватить слово между двумя словами - PullRequest
0 голосов
/ 26 февраля 2020

Допустим, это мои входные данные:

тип База данных xyz {ab c} ​​

тип База данных {ab c}

Я хочу захватить только это в обоих случаях

База данных

Шаблон:

"тип" + любое количество пробелов + что я хочу + любое количество пробелов + любые символы

У меня пока есть это, но я не уверен, как сопоставить любой символ в перспективе. (?<=type)\s+(.*)(?=)

1 Ответ

1 голос
/ 26 февраля 2020

Я уверен, что вам не нужно смотреть назад, потому что должно работать только сопоставление и захват второго слова:

String input = "type Database xyz{ abc }";
Pattern pattern = Pattern.compile("type\\s+(.*?)\\s+.*");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
    System.out.println(matcher.group(1));
}

Это находит слово и печатает

Type: Database
...