regex и классы символов

Автор: Aport Суббота, Январь 31st, 2015 Нет комментариев

Рубрика: Язык PHP

Наверняка Вы видели в мане по PHP пример замены URLs ссылок в тексте на HTML-оформление, однако в руководстве ничего не написано про классы применяемые в этом регулярном выражении.

<?php
$text
= ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\">\</a>", $text);
?>

Стандартные классы

alnum Алфавитно-цифровые символы.

alpha Алфавитные символы.

blank Символы табуляции.

cntrl Управляющие символы.

digit Цифровые символы.

graph Графические символы.

lower Символы букв нижнего регистра.

print Графические символы или символы пробела.

punct Знаки пунктуации.

space Символы пробела, табуляции, абзаца и возврата каретки.

upper Символы букв верхнего регистра.

xdigit Символы шестнадцатеричных цифр.

Как их можно применять

*[=класс_символов=]. В выражении со скобками (записанном с помощью ‘ [' и ']‘) [=класс_символов=] представляет класс эквивалентности: символы из этого класса будут совпадать со всеми символами, имеющими одинаковое значение соответствия, включая самих себя. Например, если о и (+) являются членами класса эквивалентности, тогда [[=о=] ],[[ = (+)=]]и [о (+) ] все будут синонимичными. Класс эквивалентности нельзя использовать в качестве конечной точки диапазона.

*[: класс_символов: ]. В выражении со скобками (записанном с помощью ‘ [' и ']‘) [: класс_символов:] представляет класс символов, который будет соответствовать всем символам, принадлежащим этому классу.

А Вы применяете данные классы в своих регулярках?

 

Источник: yapro.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты