Java регулярні вирази

Java надає пакет java.util.regex для відповідності шаблоном з регулярними виразами. Java регулярні вирази дуже схожі на мові програмування Perl і дуже проста в освоєнні.

Регулярний вираз являє собою спеціальну послідовність символів, яка дозволяє відповідати або знайти інші рядки або набори рядків, використовуючи спеціалізований синтаксис, що зберігається в шаблоні. Вони можуть бути використані для пошуку, редагування, або маніпулювати текстом і даними.

Пакет java.util.regex в основному складається з наступних трьох класів:

Шаблон Клас: Об'єкт Шаблон являє собою скомпільований уявлення регулярного виразу. Клас Pattern не передбачає ніяких публічних конструкторів. Щоб створити шаблон, необхідно спочатку викликати одну з його публічного статіческогокомпіляціі () методи, які потім повертають об'єкт Pattern. Ці методи приймають регулярний вираз як перший аргумент.

Слічітель Клас: Об'єкт Matcher є двигуном. який інтерпретує шаблон і виконує операції проти відповідності вхідного рядка. Як і клас Pattern, Matcher не визначає ніяких публічних конструкторів. Ви отримуєте об'єкт Matcher викликом методасогласовані () об'єкта Pattern.

PatternSyntaxException: Об'єкт PatternSyntaxException є неконтрольований виняток. яке вказує на синтаксичну помилку в шаблоні регулярного виразу.

Захопивши Групи:

Захоплення групи є одним із способів для лікування декількох символів як єдине ціле. Вони створюються шляхом розміщення символів, які будуть згруповані всередині дужок. Наприклад, регулярний вираз (собака) створює одну групу, яка містить букви "D", "O", і "г".

Захоплення групи пронумеровані шляхом підрахунку їх відкриває дужки зліва направо. У вираженні ((А) (В (С))), наприклад, існує чотири такі групи:

Щоб дізнатися, скільки групи присутні в вираженні, викличте метод groupCount на об'єкті Слічітель. Метод groupCount повертає Int, що показує кількість захоплення груп, присутніх в шаблоні слічітель в.

Існує також спеціальна група, група 0, яка завжди є повне вираження. Ця група не входить в цілому, про які повідомляють groupCount.

Наступний приклад ілюструє, як знайти значного рядок з даної алфавітно-цифрова рядок:

Це зробить наступний результат:

Синтаксис регулярних виразів:

Ось таблиця списку вниз всі синтаксис регулярних виразів метасимвол доступні в Java:

Схожі статті