Скажем, у меня есть следующая строка:
name1=gil;name2=orit;
Я хочу найти все совпадения name=value
и убедиться, что вся строка соответствует шаблону.
Итак, я сделал следующее:
-
Убедитесь, что весь шаблон соответствует желаемому.
Pattern p = Pattern.compile("^((\\w+)=(\\w+);)*$"); Matcher m = p.matcher(line); if (!m.matches()) { return false; }
-
Итерации по шаблону
name=value
Pattern p = Pattern.compile("(\\w+)=(\\w+);"); Matcher m = p.matcher(line); while (m.find()) { map.put(m.group(1), m.group(2)); }
Есть ли способ сделать это с помощью одного регулярного выражения?