Java RegEx

Поддержка регулярных выражений в Java реализована на очень высоком уровне посредством классов пакета java.util.regex. Язык регулярных выражений достаточно прост в изучении (в силу простоты концепций и синтаксиса), но овладеть им в совершенстве, применять в нестандартных ситуациях достаточно сложно. Поэтому изучать мир регулярных выражений лучше всего по примерам.

Регулярные выражения (Regular Expressions) — формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов. По сути это строка-образец (pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.Полная статья на Википедии >>>

Не смотря на свою относительную простоту, с помощью регулярных выражений можно описать практически любой шаблон поиска — все ограничивается только фантазией разработчика и степень владения самим языком.

Примеры использования регулярных выражений

Полезная информация

Валидация имени пользователя с помощью регулярного выражения

Статья содержит пример валидации имени пользователя с помощью регулярного выражения. Тестирование регулярного выражения осуществляется с помощью библиотеки TestNG. Регулярное выражение для тестирования имени пользователя: ^[a-z0-9_-]{3,15}$ Объяснение регулярного выражения: ^                    # Начало строки   [a-z0-9_-]         # Любые символы из списка a-z, 9-0, тире и нижнее                      # подчеркивание              {3,15}  # Длина от 3-х до 15-ти символов $                    # Конец строки ...

Читать далее »

Валидация HTML тегов с помощью регулярного выражения в Java

Статья рассматривает пример валидации HTML тегов с помощью регулярных выражений в среде Java. В конце мы протестируем наш валидатор с помощью библиотеки TestNG. Регулярное выражение для валидации HTML тегов <("[^"]*"|'[^']*'|[^'">])*> Пояснения по регулярному выражению: <          # Тег должен начинаться с "<"   (        # Начало группы 1     "[^"]*"          # Разрешены строки, заключенные в одинарные кавычик - "string"       |          ...

Читать далее »

Регулярное выражение для получения ссылок из HTML документа в Java

Данная статья показывает способ извлечение ссылок из HTML документа с помощью регулярного выражения в среде Java. Например, получить ссылку из текста примерно следующего содержания: Это текст до ссылки <a href="http://j4web.ru" target="_blank">Это текст самой ссылки</a> Это текст после ссылки Для этого нам потребуется выполнить два простых действия: Получить своего род «значение» тега <a> то есть получить полное содержимое тега, заключенное между ...

Читать далее »

Валидация даты с помощью регулярного выражения в Java

В статье рассматривается один из способов валидации даты с помощью регулярного выражения в среде Java. Правильность работы регулярного выражения проверяется средствами библиотеки TestNG. Регулярное выражение для валидации даты (0?[1-9]|[12][0-9]|3[01]).(0?[1-9]|1[012]).((19|20)\d\d) Объяснение регулярного выражения: (          # Начало группы 1     0?[1-9]         # 01-09 или 1-9     |         # Или     [12][0-9]       # 10-19 или 20-29     |         # Или     3[01]           # ...

Читать далее »

Валидация времени в 24-х часовом формате с помощью регулярного выражения в Java

В данном материале будет рассмотрен один из вариантов валидации времени в 24-х часовом формате средствами регулярных выражений в среде Java. Модульный тест будет написан с применением библиотеки TestNG. Регулярное выражение для валидации времени в 24-х часовом формате ([01]?[0-9]|2[0-3]):[0-5][0-9] Пояснения к регулярному выражению: (        # Начало группы 1  [01]?[0-9]        # Должно начинаться с 0-9, 00-09 или 10-19.  |       # Или  2[0-3]            ...

Читать далее »

Валидация времени в 12-ти часовом формате с помощью регулярного выражения в Java

Статья содержит пример класса для валидации времени в 12-ти часовом формате с помощью регулярного выражения. Тестирование класса будет производиться средствами библиотеки TestNG. Регулярное выражение для времени в 12-ти часовом формате (1[012]|[1-9]):[0-5][0-9](\s)?(?i)(am|pm) Описание регулярного выражения: (          # Начало группы 1  1[012]            #  Строка должна начинаться с 10, 11 или 12.  |         #  Или  [1-9]             #  Строка должна начинаться с 1, 2, ...

Читать далее »

Валидация IP адреса с помощью регулярного выражения в Java

В данной статье мы рассмотрим пример простой программы, которая производит валидацию IP адреса с помощью регулярного выражения. Тестирование созданного класса мы будет производить средствами библиотеки TestNG. Регулярное выражение для валидации IP адреса ^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\. ([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$ Объяснение регулярного выражения: ^        # Начало Строки  (       #  Начало группы 1    [01]?\d\d?   #    Может быть одна или 2 цифры. Если цифр три, ...

Читать далее »

Валидация имени файла-картинки с помощью регулярного выражения

Статья содержит пример использования регулярного выражения для валидации имени файла-картинки. Тест регулярного выражения выполняется средствами библиотеки TestNG. Регулярное выражение для валидации имени файла-картинки: ([^s]+(.(?i)(jpg|png|gif|bmp))$) Объяснение регурярного выражения: (                   # Начало группы 1  [^s]+             #   Имя файла должно содрежать хотя бы что-то (за исключением пробела)        (            #     Начало группы 2          .         #        Дальше идет точка .          (?i)   ...

Читать далее »

Валидация адреса электронной почты с помощью регулярного выражения

В статье содержится пример валидации адреса электронной почты с помощью регулярного выражения. Тестирование регулярного выражения производится с помощью библиотеки TestNG. Регулярное выражение для валидации адреса электронной почты: ^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*       @[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$; Объяснение регулярного выражения: ^                       # Начало строки   [_A-Za-z0-9-\+]+     #   Должна начинаться со строки в скобках [ ], символ должен быть один или больше (+)   (                     #     Начало группы ...

Читать далее »

Валидация шестнадцатеричного кода цвета с помощью регулярного выражения

Статья содержит пример валидации шестнадцатеричного кода цвета с помощью регулярного выражения. Тестирования регулярного выражения производится средствами библиотеки TestNG. Регулярное выражение для валидации шестнадцатеричного кода цвета: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ Объяснение регулярного выражения ^                  # начало строки  #                 #   строка должна начинаться с символа "#"  (                 #   начало группы 1   [A-Fa-f0-9]{6}   #     любые символы из списка в количестве 6 штук   |                #     ...

Читать далее »