Лекция: Расширенные операторы
| ?#N | Это оператор «просмотра назад». N — число символов для просмотра. |
| ?~N | Отрицание просмотра назад. |
| ?= | Просмотр вперед. |
| ?! | Отрицание просмотра вперед. |
Заметьте, что хотя последние два оператора существуют и в перле, в нем они записываются в виде (?=foobar). В nnCron оператор выглядит как (foobar)?=.
Примеры:
\ совпадет с любым словом, после которого знак табуляции\ при этом сам знак табуляции не войдет в число совпавших символов\ совпадет с любым появлением 'foo', которое не продолжается 'bar'\ совпадет с любым появлением 'bar', которому предшествует 'foo'Еще немного примеров:
\ совпадет с «foobar», «bar»\ совпадет _только_ с «foobar»\ совпадет с «foobar», «for», «far»\ задает любое число с десятичной запятой\ совпадет с «foofoofoobarfoobar», «bar»Примеры регулярных выражений:
[0-9][0-9] – равно 2 цифры
[0-9]* — может быть ни одной цифры (итератор)
[0-9]+ — как минимум 1 буква(итератор)
[0-9] {4} – не менее 4 знаков
[A-Z] {,4} – не более 4 знаков
[A-Z] {2,2} – ровно 2 буквы
[a][a-z]* — определяет все слова на «а»
(\b cap) – все слова начинающиеся на “cap”
(cap\b) – все слова заканчивающиеся на “cap”
[a-z]{3,15}\(org|com|by|ru) – если точно известно, что строка заканчивается на символы org|com|by|ru.
Примеры регулярных выражений MySQL:
>select ‘foto’ REGEXP”^fo”; — определяет, начинается ли слово с морфемы.
>select ‘foto’ REGEXP ‘^f?fo’; — ? соответсвует одиночному символу