Java регулярные выражения: синтаксис, использование и примеры
Регулярные выражения (регулярки) являются мощным инструментом для работы с текстовыми данными в языке программирования Java. Они позволяют осуществлять поиск, валидацию, замену и манипуляции строками, в соответствии с заданными шаблонами.
В Java регулярки реализованы с использованием класса Pattern из пакета java.util.regex. Чтобы использовать регулярные выражения в своем коде, необходимо создать объект Pattern, передав ему шаблон, и затем применять его методы для поиска и обработки строк.
Ниже приведены некоторые основные операторы и синтаксис, которые можно использовать при работе с регулярными выражениями в Java:
-
Метасимволы:
- ".": соответствует любому символу, кроме символа новой строки.
- "\d": соответствует любой цифре.
- "\w": соответствует любой буквенно-цифровой символ.
- "\s": соответствует любому символу разделителя (пробел, табуляция и т.д.).
-
Квантификаторы:
- "*": соответствует нулю или более повторений предыдущего символа или группы.
- "+": соответствует одному или более повторениям предыдущего символа или группы.
- "?": соответствует нулю или одному повторению предыдущего символа или группы.
- "{n}": соответствует ровно n повторениям предыдущего символа или группы.
- "{n, m}": соответствует от n до m повторений предыдущего символа или группы.
-
Символы-ограничители:
- "^": соответствует началу строки.
- "$": соответствует концу строки.
-
Группировка:
- "()": используется для группировки символов.
Ниже приведены примеры использования регулярных выражений в Java:
-
Поиск и замена:
String input = "Java регулярные выражения"; String pattern = "регулярн(ые|ая)"; // ищем слово "регулярные" или "регулярная" String replacement = "мощные"; String result = input.replaceAll(pattern, replacement); System.out.println(result); // Вывод: "Java мощные выражения" -
Валидация email-адреса:
String email = "test@example.com"; String pattern = "^\\w+@[a-zA-Z_]+?\\.[a-zA-Z]{2,3}$"; boolean isValid = email.matches(pattern); System.out.println(isValid); // Вывод: true -
Разделение строки на слова:
String input = "Регулярные выражения это мощный инструмент"; String[] words = input.split("\\s+"); for (String word : words) { System.out.println(word); }
Важно отметить, что символы "\" в регулярных выражениях Java являются escape-символами, поэтому для их использования нужно использовать двойной обратный слеш "\\".
Описанные в примерах операторы и синтаксис являются лишь несколькими из многих возможностей регулярных выражений в Java. Регулярки позволяют более гибко работать со строками, упрощая их обработку и поиск. Важно тщательно изучить документацию и продолжить изучение этой мощной темы.