Пакеты регулярных выражений имеют ограничения
Пакет java.regex Я подтвердил, что поддержка именованных групп отсутствует, поэтому сообщите мне, какие сторонние библиотеки ее поддерживают.
Я изучал jregex, но последний релиз был в 2002 году и он не работал для java5 (хотя я сразу попробовал).
Поддержка начиная с Java 7.
В Java 7 добавлена поддержка именованных групп. Строительными блоками для поддержки именованных групп захвата являются:
Альтернативы для Java 7 и более ранних версий
Для Java 7 и более ранних версий существовала альтернатива.
Библиотека Regex2
Библиотека Regex2 поддерживает именованные группы. Она расширяет возможности класс java.util.regex.Pattern для создания .
Пример
Входная строка: "TEST 123"
Регулярное выражение: "(?
Доступ:
matcher.group(1) == "TEST"
matcher.group("login") == "TEST"
matcher.name (1) == "login"
Replace:
matcher.replaceAll("aaaaa_$1_sssss_$2____") == "aaaaa_TEST_sssss_123____"
matcher.replaceAll("aaaaa_$ { login}_sssss_${id}____") == "aaaaa_TEST_sssss_123____"
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3