вторник, 17 июля 2012 г.

Регулярные выражения


И еще одна статья на сегодня (не удержался, так как подсказали интересную тему для изучения, в принципе — она должна помочь в работе). Рассказали мне про регулярные выражения (правда — для СУБД Oracle), но — принципе регулярных выражений везде одинаковый, так что всем будет интересно.

Регулярные выражения используются для поиска текста (и для некотрого его изменения). Грубо говоря — человек задает шаблон поиска — и программа обрабатывает входной текст накладывая данный шаблон на текст — выдает результат. В шаблоне моет быть очень много различных фишек, которые я буду постепенно изучать.

Появились регулярные выражения в конце двадцатого века, и — теперь набрали большую популярность (уже давно читал о них, но — еще пока ни разу не использовал). Теперь уже почти все языки программирования научились их обрабатывать (я узнал о них из языка PHP, теперь вот для Oracle буду использовать).


Регулярные выражения, понятное дело, были не с первой версии в Oracle. Как я понял — их добавили только в одиннадцатой версии (не хило). Общее начало у всех функций — REGEXP (от REGular EXPressions). Но далее добавляются различные реализации (всего их четыре): _LIKE, _COUNT, _INSTR и _REPLACE.

Пару примеров с тем, что можно сделать с помощью регулярных выражений (более подробно — буду в следующих статьях рассматривать). Сейчас — только в общих чертах. Например — выделить из строки слова:

SELECT REGEXP_SUBSTR('один два три', '\w+', 1,2) re FROM dual

Где '\w+' маска (искать слово (Word) длиной больше одного символа (+)), 1 — с какого символа в исходной строке начать поиск, 2 — номер слова. В результате выведет слово «два».

SELECT REGEXP_SUBSTR('один22 дв3а т4ри', '\d+', 1,3) re FROM dual

То же самое, но — для цифр ('\d+', digit) — выедет, соответственно, цифру 4. Если бы первую цифру выводил — в результате вышло бы 22.

В общем — небольшое введение по регулярным выражениям. Это только лишь начало, так что не надо говорить что плохие примеры. А теперь, для примера — можно и про отвлеченные темы поговорить, например — про дом. Дом хочу строить — сейчас подбираю брус для него. Недавно наткнулся на отличный сайт — www.skladysmirnova.ru — сайт производителя пиломатериалов (Лесные склады Смирнова). Буду изучать, цены приемлемые, так что можно выбрать. И вы присмотритесь.

Комментариев нет:

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