Продолжаем изучение регулярных выражений и java.util.regex API, предыдущий урок — Регулярные выражения в Java. Часть 1
Символьные классы
Символьные классы — это набор символов, заключенных в квадратные скобки.Простые классы
Самая простая форма символьных классов — перечисление символов в квадратных скобках. Например, регулярное выражение[bcr]at
соответствует словам «bat», «cat», или «rat», потому что оно определяет класс, принимающий буквы «b», «c», или «r» в качестве первого символа.
Запустите программу, приведенную в первом уроке, и протестируйте с этим регулярным выражением:
В приведенных примерах соответствие успешно только, когда первая буква подходит символу, определенному в символьном классе.
Отрицание
Для нахождения символов исключая перечисленные, используйте метасимвол «^
» в начале символьного класса. Такая техника называется отрицанием.
Подходят только те строки, которые не содержат символы определенные регулярным выражением.
Диапазоны символов
Иногда необходимо определить символьный класс, который содержит диапазон значений «от а до я» или цифры от 1 до 5. Для задания диапазонов используется метасимвол «-
» между символами, например [1-5] или [a-h]. Вы также можете использовать разные диапазоны в одном символьном классе, например для [a-zA-Z] подойдут строки, содержащие буквы алфавита, независимо от регистра: a — z (прописные) или A — Z (заглавные).
Несколько примеров отрицаний и диапазонов:
Объединения
В также можете использовать объединения для создания символьного класса, который объединяет два или более разных символьных класса. Для создания объединения, просто заключите один внутри другого: [0-4[6-8]]. Данное объединение создает единый символьный класс, для которого подходят числа 0, 1, 2, 3, 4, 6, 7, и 8.Пересечения
Для создания единого символьного класса, который определяет все вложенные в него, используйте&&
, например: [0-9&&[345]]. Это выражение определяет строки, подходящие обоим вложенным классам, т.е. цифры 3, 4 и 5.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ