Повторение захвата группы в регулярном выражении - PullRequest
0 голосов
/ 18 декабря 2018

Каков наилучший способ анализа следующей строки в Java с использованием одного регулярного выражения?

Строка: someprefix foo=someval baz=anotherval baz=somethingelse

Мне нужно извлечь someprefix, someval,anotherval и somethingelse.Строка всегда содержит значение префикса (в данном примере someprefix) и может содержать от 0 до 4 пар ключ-значение (в примере foo=someval baz=anotherval baz=somethingelse)

1 Ответ

0 голосов
/ 18 декабря 2018

Вы можете использовать это регулярное выражение для захвата вашего предполагаемого текста,

(?<==|^)\w+

, который захватывает слово, которому предшествует либо = символ, либо ^ начало строки.

Пример кода Java для того же,

Pattern p = Pattern.compile("(?<==|^)\\w+");
String s = "someprefix foo=someval baz=anotherval baz=somethingelse";
Matcher m = p.matcher(s);
while (m.find()) {
    System.out.println(m.group());
}

Печать,

someprefix
someval
anotherval
somethingelse

Live Demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...