От автора: думаете, так легко ставить точку? Ну, может, в некоторых ситуациях это сделать просто, но только не в программировании. Например, в регулярных выражениях PHP точка – это метасимвол, необдуманное использование которого может обернуться последствиями!
Не все так страшно!
Что-то я вас совсем запугал. Точка в регулярках – это не страшно. Просто нужно знать, зачем ее составить и когда. Теперь разберемся, что такое метасимволы и для чего они применяются в регулярных выражениях.
Метасимволы – это группа знаков, которые используются при составлении шаблонов. Каждый из них устанавливает определенный критерий фильтрации. Например, \d означает все символы. То есть, метасимволы делают регулярные выражения короче и проще для понимания.
Но вернемся к нашему «герою». Точка в PHP является тоже не обычным символом. С ее помощью происходит конкатенация строк (присоединение) и другие операции. В регулярках она «распознается» как метасимвол для указания любого единичного символа.
Практика
Пример, где точка используется в качестве метасимвола:
1 2 3 4 5 |
<?php $text = " текст text текст text text 123d7"; $str = preg_replace("/[123.7]/",' ', $text); echo $str; ?> |
Пример, где точка остается сама собой:
1 2 3 4 5 |
<?php $text = " текст текст... текст text... text 123d7"; $str = preg_replace("/[\.\.\.]/",' ', $text); echo $str; ?> |
Обратите внимание, как составлена регулярка. Чтобы точка «воспринималась» интерпретатором как знак препинания, а не метасимвол, мы экранировали ее левым слешем. Эту особенность синтаксиса следует учитывать, чтобы точки в адресе электронной почты PHP правильно обрабатывались.
С одним метасимволом разобрались. А там их целая куча! В общем, у нас еще непочатый край работы :).