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