Регулярные выражения в PHP. Символ отрицания

Регулярные выражения в PHP. Символ отрицания

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

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

Как же обозначается этот символ в регулярных выражениях? На самом деле он уже вам знаком. Это циркумфлекс, который по простому часто называют крышкой или домиком. Записывается он так — ^. Постойте, скажете вы, ведь этот символ обозначает начало строки в регулярках. Все верно. Но этот символ также является и символом отрицания.

Как трактовать этот метасимвол — зависит от его позиции в регулярном выражении. Если он стоит самым первым в регулярке, то есть идет сразу после ограничителя шаблона, тогда это метасимвол начала строки. Если же он используется в самом начале символьного класса — [^…] — в этом случае он интерпретируется как символ отрицания и сообщает, что все символы, идущие после него, не должны встречаться в совпадающей позиции строки. Во всех прочих случаях этот символ совпадает сам с собой, то есть не является метасимволом.

Ну и давайте решим задачу, озвученную выше, — найдем все ссылки в тексте:

Вот такое вот не сложное решение у нас получилось и, как видите, оно работает:

Ну а на этом у меня сегодня все. Больше о регулярных выражениях вы можете узнать из нашего курса по регулярным выражениям. Удачи!

Метки:

Похожие статьи:

Комментарии Вконтакте: