Регулярные выражения

Данный сайт посвящен регулярным выражениям. Весь сайт поделен на 2 больших раздела: теория и практика. В разделе "Теория" присутствуют обширные статьи по какой-либо из тем, маленькие подсказки, а также примеры регулярных выражений, которые могут пригодиться в повседневной жизни.

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

Чтобы быстрее переходить между подразделами, можно воспользоваться меню.

Квантификаторы

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

Метасимволы

Метасимволы в регулярных выражениях позволяют использовать символы не по их прямому назначению ...

ФИО с сокращением (например, Иванов И.И., или Иванов-Петров А. Я.)
/^([А-Яа-яё-]+\s([А-Я]{1}[.]{1}[\s]?){1,2}$)/u
Опережающие (look-ahead) проверки

Look-ahead (опережающие) проверки позволяют проверять выражение, но не являются частью выражения (т.е. не будут заменены в preg_replace, например).

Допустим, надо заменить все буквы a, за которыми идет b:

$res = preg_replace('/a(?=b)/', '', 'abaabaacba'); //$res: 'babaacba';

Если нужно, удалить a, после которых любой символ, кроме b, нужно поменять только один знак:

$res = preg_replace('/a(?!b)/', '', 'abaabaacba'); //$res: 'ababcb';

Как пользоваться сайтом

На данный момент все задания проверяются на языке PHP. В общем и целом, регулярные выражения не сильно изменяются от одного языка программирования к другому, поэтому, изучив их на одном языке, можно с легкостью применять полученные знания в других языках (JS, Python и др.).

Если вы уже работали с регулярными выражениями, можете сразу переходить к практике. Если вы только начинаете изучать regexp'ы, либо многое забыли и хотите освежить память, переходите к статьям.

Если вы обнаружили неточность или ошибку,