Программист Дроздовский Михаил
Карта сайта | Форум  

DROZD. / Разное / Статьи

Статьи и заметки обо всем, что имеет какое-либо отношение к созданию сайтов.
Информация о веб-дизайне, программировании, типографике и работе с контентом — все здесь.

  Опубликовано на journalist.artotron.com
   

 

 

Регулярные выражения. Часть 2

Автор: Дроздовский Михаил
 
3.Отрицание. Если перед определенным символом или выражением в регулярном выражении поставить ^ ("птичку"), то этот символ или выражение преобретут обратный смысл. Пример:

$peremennaya =~ /^(Some|Else|Third)Str/;

В этом случае поиск будет успешным, если будет найдено все, содержащее Str, но не содержащее Some, Else или Third

4.Замена произвольного символа. Допустим, нам нужно найти в строке соответствие со словом, состоящим из 5 букв и оканчивающимся на illy (это может быть, например Billy). Но писать класс произвольного символа (что-то вроде [abcdef ... 890]) не хочется. Что же делать? Можно просто заменить первый символ точкой (.), которая в регулярных выражениях означает любой символ:

$peremennaya =~ /.illy/;

5.Что, кроме поиска, можно сделать с регулярными выражениями? С помощью регулярных выражений можно делать замену, транслитерацию, и даже записывать найденные подстроки в переменные (этому посвящен отдельный шестой пункт).

Делаем замену с помощью регулярных выражений: m/что заменяем/чем заменяем/ . Пример:

$peremennaya =~ /.illy/Billy/;

Делаем транслитерацию с помощью регулярных выражений: tr/что заменяем/чем заменяем/ . Пример:

$peremennaya =~ tr/ABC/XYZ/;

Заменит в $peremennaya A на X, B на Y, С на Z.

6.Сохраняем результаты в отдельную переменную. Использование скобок имеет еще одну особенность - результаты поиска сохраняются в переменные $1, $2 итд. Пример:

$peremennaya =~ /^(Some|Else|Third)Str(.)/;

Результат от поиска (т.е. Some, Else или Third) сохранится в переменной $1, а символ за Str - в переменной $2.


---
Это была последняя часть статьи про регулярные выражения. Какая-то эклектика получилась. Может третью часть напишу :)

 

 


Copyright © 2004 — 2010 Дроздовский Михаил Краснодарский край: Прокат (аренда) автомобилей в Краснодаре. . Волгоградская область: Снять (сниму) комнату в Волгограде - город Волгоград. . Керамический гранит, as-stone.ru балясины (мрамор, гранит, дерево).