Многие регулярные двигатели поддержки по имени группировка. Java представила эту функцию в Java7. Синтаксис аналогичен .NET (.NET позволяет группам с тем же именем появляться в том же выражении, но Java нет).
Называть группу легко понять, это означает название группы. Ниже приведена краткая демонстрация того, как использовать и меры предосторожности в Java.
1. Определите группу с именем в обычном
(? <mame> x)
Здесь X - это контент, который мы хотим соответствовать. Обратите внимание, что имя нельзя повторить в этом, и имя не может начать с номера!
2. обратные ссылки на контент, соответствующий имени
/k <имя>
Обратите внимание, что обратные ссылки предназначены для того, что сопоставляет группа, а не для выражения группы.
3. В замене см. Строку, запечатленную в имени группы
$ {Имя}
4. Получите строку, захваченную группой имени
Группа (имя строки)
Примечание. Вы также можете использовать номера последовательностей для ссылки с названием именем захвата. Номера последовательности начинаются с 1 и 0, является полным результатом соответствующего обычного.
Вот простое правило для получения года, месяца и дня отдельно в качестве примера:
Строка S = "2015-10-26"; Шаблон p = pattern.compile ("(? Совпадение m = p.matcher (ы); if (m.find ()) {System.out.println ("Год:" + M.Group ("Год")); // Год system.out.println ("месяц:" + m.group ("месяц")); // месяц System.out.println ("Day:" + M.Group ("Day")); // Daily System.out.println ("Год:" + M.Group (1)); // первая группа System.out.println ("Месяц:" + M.Group (2)); // вторая группа System.out.println ("Day:" + M.Group (3)); // Третья группа} System.out.println (s.ReplAceall ("(? <Год> // d {4})-(? <Месяц> // d {2})-(? // Измените дату формы года в месяц на дневной год Результат вывода
Год: 2015 Монт: 10day: 26 лет: 2015 Монт: 10day: 2626-10-2015
Выше приведено в этой статье, я надеюсь, что это будет полезно для каждого обучения.