суббота, 12 мая 2012 г.

Часто используемые регулярные выражения в java

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

1. Выделение IP-адреса из произвольной строки.
Например, для строки "Ваш IP: 178.124.248.231" регулярное выражение имеет вид
Pattern ipPattern =
            Pattern.compile("Ваш IP: ([[\\d]+[\\.]+]+[\\d])[\\.]+", 
 Pattern.DOTALL | Pattern.CASE_INSENSITIVE | Pattern.MULTILINE); 

2. Выделение времени в минутах и секундах.
Для строки "Время : 02:00"
Pattern remainedTimePattern =
            Pattern.compile("Время : ([[\\d]+[:]]+[\\d])",
 Pattern.DOTALL | Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);

3. Проверка строки времени в 12-ти часовом формате.

Pattern timeAMPMPattern =
            Pattern.compile("(1[012]|[1-9]):[0-5][0-9](\\s)?(?i)(am|pm)", 
Pattern.DOTALL | Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);

4. Проверка строки времени в 24-x часовом формате.

Pattern time24Pattern =
            Pattern.compile("([01]?[0-9]|2[0-3]):[0-5][0-9]", 
Pattern.DOTALL | Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);

5. Проверка даты в формате dd/mm/yyyy.

Pattern datePattern =
            Pattern.compile(
"(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\\d\\d)", 
Pattern.DOTALL | Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);

6. Проверка правильности email адреса

Pattern emailPattern =
            Pattern.compile(
"^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$", 
Pattern.DOTALL | Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);


7. Проверка IP

Pattern checkIPattern = Pattern.compile(
        "^([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])$");

8. Проверка имени пользователя

Pattern userNamePattern = Pattern.compile("^[a-z0-9_-]{3,15}$");

9. Паттерн HTML тэга

Pattern htmlTagPattern = Pattern.compile("<("[^"]*"|'[^']*'|[^'">])*>");

Комментариев нет:

Отправить комментарий

Ярлыки

java (31) оптимизация (7) CPanel (5) svn (5) windows xp (5) ошибка (5) свой сервер (5) файлы и папки (5) gui (4) регулярные выражения (4) jacoco (3) redmine (3) windows (3) автоматизация (3) защита данных (3) резервное копирование (3) сервер (3) JavaScript (2) Oracle SQL (2) adsl модем (2) apache maven (2) apache tomcat (2) coverage (2) dropbox (2) excel (2) firewall (2) netbeans (2) office 2007 (2) samsung (2) system tray (системный трей) (2) xerox (2) вирусы (2) принтер (2) сериализация (2) удаленный рабочий стол (2) HTML (1) JFileChooser (1) MySQL (1) Nokia (1) Ovi (1) P660R-T1 (1) WakeOnLan (1) blogger.com (1) ctfmon.exe (1) email (1) flash память (1) ftp (1) integration testing (1) ip (1) jQuery (1) jvisualWm (1) log4j (1) look and feel (1) myBatis (1) php (1) serialVersionUID (1) skype (1) smtp (1) ssh (1) swing (1) torrents (1) unit-testing (1) unix (1) vpn (1) windows 7 (1) xStarter (1) zip (1) безопасность (1) вход в систему (1) дизайн (1) документация (1) заправка (1) интернет (1) логирование (1) мышь (1) патч (1) перенос (1) печать (1) плагины (1) почтовые сообщения (1) программирование (1) процессы (1) прошивка (1) сеть (1) сеть. ошибка (1) скрытые файлы (1) списки (1) фильтрация (1) фокус (1) часовые пояса (1) шифрование (1) экран (1)