GWT регулярное выражение соответствует только последнему вхождению - PullRequest
1 голос
/ 24 октября 2011

Я пытаюсь проанализировать строку /param1=value1/param2=value2, чтобы извлечь пары параметр / значение с помощью этого кода:

  public static void main(String[] foo) {

    RegExp regExp = RegExp.compile("(/(\\w+)=(\\w+))*", "g");

    MatchResult matchResult = regExp.exec("/param1=value1/param2=value2");

    for (int i = 0; i < matchResult.getGroupCount(); i++) {
      System.out.println("group" + i + "=" + matchResult.getGroup(i));
    }

  }

, который выдает:

group0=/param1=value1/param2=value2
group1=/param2=value2
group2=param2
group3=value2

Я пробовал с и безфлаг "g" (глобальный).

Почему он захватывает только param2=value2, а не param1=value1?

1 Ответ

1 голос
/ 24 октября 2011

Удалите asterisk (*) из вашего регулярного выражения.

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