Примеры регулярных выражений php

Теперь вы знакомы с основными составляющими синтаксиса регулярных выражений типа POSIX. Однако научиться использовать их вместе – это самая важная задача.

Обычно начинающие программисты пытаются создать некий универсальный шаблон, который будет удовлетворять всем заданным условиям. Однако это может очень осложнить простую, на первый взгляд, задачу. При проектировании регулярных выражений иногда лучше получить приблизительную структуру, чем добиваться абсолютной точности (например, шаблон для проверки e-mail адреса в идеале должен занимать около трех страниц текста). Приведем несколько примеров шаблонов, которые можно применять на практике. Внимательно разберите каждый из них, уяснив принцип их построения.

Идентификатор
Теперь рассмотрим шаблон, задающий все эти условия:

1
"\\$[_a-zA-Z][_0-9a-zA-Z]

Гиперссылка
Для поиска в тексте гиперссылок можно использовать следующий шаблон:

1
<а href=[">]+>["<]+</a>

E-mail адрес
Представьте, что на Web-сайте имеется форма, где пользователь вводит свой e-mail адрес. Вашему вниманию предлагается два примера регулярных выражений:

1
^.+@.+\\..+$

– этот шаблон предъявляет к строке очень мягкие условия. Его упрощенная схема имеет вид: что угодно@что угодно.что угодно;

1
^[a-zO-9\._-]+@[a-zO-9\._-]+\.[a-z]{2,4}\$

– если вам нужна более строгая проверка, то можно применить этот шаблон.

Мы познакомились с одной из самых сложных тем – регулярные выражения. Умение использовать их в различных ситуациях поможет вам решить многие Web-задачи. На первом этапе лучше всего разобрать уже имеющиеся шаблоны, а затем на их основе строить собственные. Экспериментируйте, и быть может именно ваше решение будет самым лучшим.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100