Совместимые регулярные выражения
Posted in: Основы регулярных выражений, By: admin, At: Апрель 20th, 2008
Perl-совместимые регулярные выражения (Perl Compatible Regular Expressions — PCRE) намного мощнее, чем их POSIX-аналоги. И, следовательно, они более сложны и трудны в применении.
PCRE добавляют свои собственные классы к правилам расширенных регулярных выражений, которые мы видели ранее:
• \w представляет символ “слова” и эквивалентен выражению [A-Za-zQ-9].
• \W является противоположностью \w и эквивалентен выражению [лА-£а-гО-9J,
• \s представляет пробельный символ.
• \5 представляет непробельный символ,
• \d представляет цифру и эквивалентен [ 0-9].
• \D представляет нецнфровой символ и эквивалентен [ "0-9].
• \п представляет символ новой строки.
• \г представляет символ возврата каретки.
• \ t представл я ет си м вол табуляции.
Как видите, выражения PCRE более лаконичны, чем их POSIX-аналоги. Фактически, наше простое регулярное выражение проверки корректности адреса электронной почты теперь можно записать следующим образом:
/\w+@\w+\.\w(2,4)/
Однако, минуточку! Что это за символы слэша в начале и в конце строк выражений? PCRE требует, чтобы действительные регулярные выражения были разделены двумя символами. По соглашению используется два ведущих слэша несмотря на то, что любой символ кроме обратного слэша, который не является буквенно-цифровым символом, также вполне могут подойти,
В самом деле, независимо от того, какой символ вы выберете, его придется отменить там, где он будет использоваться как част], самого регулярного выражения. Например:
/face\/off/
является эквивалентом регулярного выражения face/of f.
PCRE также расширяет концепцию ссылок, делая их доступными не только в качестве побочного продукта операции вычисления регулярного выражения, но и в качестве части самой операции.
Leave a Reply