Регулярные выражения
Начиная с этой статьи, мы приступаем с Вами к регулярным выражениям. Эта статья будет вводной, в которой Вы узнаете, что такое регулярные выражения и как их надо использовать.
Регулярное выражение - это некая строка-образец. Что это означает? Означают, что в ней задаётся некие правила, по которым определяется: соответствует строка строке-образцу или нет. Фактически, эти строки-образцы используются для поиска (или замены) части текста. Регулярное выражение состоит из обычных символов, метасимволов, квантификаторов и спецсимволов. Именно эти группы символов позволяют задавать образцы (именно образцы, а не просто строки).
Какие могут быть примеры регулярных выражений? Например такой: "Строка, в которой первый символ - буква "a", затем любой нецифровой символ, затем любое количество цифр, затем всё, что угодно, кроме буквы "b", и, наконец, последний символ должен быть пробельным, при этом регистр не важен". Вот это пример словесного описания регулярного выражения, и наша с Вами задача будет научиться эти фразы переводить на язык регулярных выражений.
Надеюсь, теперь Вы поняли, что означают регулярные выражения. Если нет, то приведу ещё один пример. Из курса геометрии Вы должны помнить про равные треугольники и подобные. Вот равные строки - это строки, в которых все символы совпадают. А вот подобие - это, когда есть строка-образец, описывающая правила подобия. И та строка, которая соответствует этим правилам и называется подобной.
Я заранее предупреждаю, что регулярные выражения - это достаточно сложная тема, которую крайне трудно понять новичкам (сам мучился когда-то). Особенно с ужасом воспринимаются сами регулярные выражения. Чтобы Вы уже познакомились с их видом, давайте напишу на языке регулярных выражений то словесное описание, которое Вы прочитали выше:
/a\D\d*[^b]\s/i
Если не разберётесь в этом выражении, то не расстраивайтесь - это только пример, а уметь читать и составлять их, Вы научитесь в последующих статьях.
Область применения регулярных выражений огромна. Например, для поиска и удаления e-mail адресов, различных ссылок, номеров icq, оставленных пользователями. Удаление различных HTML-тегов, "умный" поиск и прочее. В общем, эту тему надо осваивать обязательно. Вдобавок, регулярные выражения - это универсальные знания, которые используются не только в PHP, но и в таких языках как Java, JavaScript, C, C++ и другие. Помимо языков программирования регулярные выражения можно использовать в различных текстовых редакторов (например, Notepad++), что активно эксплуатируется. В общем, регулярные выражения надо знать не только программистам, но и уверенным пользователям ПК.
-
- Михаил Русаков
Комментарии (7):
продовження буде ?
Ответить
Да, уже завтра. Чтобы не пропустить, можете подписаться на обновления.
Ответить
не можете помочь Михаил??
Ответить
Здраствуйте Михаил. у меня есть проблема если можете помогите. $str= 'array(name=>"banana", $weight=>'1,k', "from"=>"columbia", $color=>"green", phone=>'342-764')'; как можно с помошью preg_match или preg_match_replace исправить ошибки
Ответить
если можете сейчас просто утром надо это сделать а уже почти утро
Ответить
Помимо упомянутой в данной статье области применения регулярных выражений (поиск и замена фрагментов текста по шаблону) регулярные выражения некоторыми программистами применяются также для проверки корректности информации, вводимой пользователем в поля ввода. Однако контроль такой получается топорным (при условии использования для его осуществления только регулярного выражения). Поэтому для контроля валидности ввода в большинстве случаев лучше применять комбинацию: регулярное выражение плюс функция валидации введённых данных (в данном случае на JavaScript). Кто со мной не согласен, пусть создаст регулярное выражение для проверки корректности вводимой, например, даты, которое отсеивало бы даты типа 29-02-2001, 31-06-2017 и т.п.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.