Работа с текстом — это то, в чем Perl превосходит другие программы. Регулярные выражения обеспечивают значительную часть возможностей Perl но обработке текстов. Они позволяют сопоставлять текст с указанным шаблоном (а именно, сравнивать две строки с помощью универсальных символов, интерпретируемых специальным образом) и выполнять замену текста. Таким образом, Perl предоставляет мощный инструмент для манипулирования текстом под управлением программы пользователя.
«Жадность» квантификаторов.
Учтите, что квантификаторы количества по умолчанию являются «жадными», то есть возвращают самый длинный фрагмент текста, соответствующий указанному шаблону, начиная с текущей позиции строки. Например, вы хотите заменить фразу «That is some text, isn’t it?» на «That's some text, isn't it?», подставив «That’s» вместо «That is». Посмотрим, что получится, если использовать команду
$text = "That is some text, isn’t it?";
$text = ~ s/. *is/That's/; print Stext;
В силу «жадности» квантификатора * конструкция .*is будет сопоставлена максимально возможному фрагменту текста. То есть Perl соотнесет с ней все символы, предшествующие последнему «is» (включая и сам «is»). В результате выполнения команды получится:
That'sn't it?
Проблеме, как заставить квантификаторы количества быть менее жадными, посвящен отдельный раздел этой главы (см. далее раздел «Как ограничить «жадность» квантификаторов»).
Регулярные выражения, использующие квантификаторы, могут порождать процесс, который называется перебор с возвратом (backtracking). Чтобы произошло совпадение текста с шаблоном, надо построить соответствие между текстом и всем регулярным выражением, а не его частью. Начало шаблона может содержать квантификатор, который поначалу срабатывает, но впоследствии приводит к тому, что для части шаблона не хватает текста или возникает несоответствие между текстом и шаблоном. В таких случаях Perl возвращается назад и начинает построение соответствия между текстом и шаблоном с самого начала, ограничивая «жадность» квантификатора (именно поэтому процесс и называется «перебор с возвратом»).
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Регулярные выражения в Perl - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу
Скачать книгу Регулярные выражения в Perl - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по информатике :: информатика :: компьютеры
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
- Информатика и ИКТ, 10 класс, базовый и профильный уровни, Гейн А.Г., Ливчак А.Б., 2012
- Информатика и ИКТ, Комплект компьютерных программ к учебнику, 4 класс, методическое пособие, Паутова А.Г., 2012
- Информатика, Комплект компьютерных программ к учебнику, 3 класс, методическое пособие, Паутова А.Г., 2007
- Информатика и ИКТ, Комплект компьютерных программ к учебнику, 2 класс, методическое пособие, Паутова А.Г., 2009
Предыдущие статьи:
- Создание и продвижение проекта в Рунете
- Список служб в Windows XP, Белоусов А.
- Советы по настройке компьютера
- Микропроцессоры, Курс и упражнения, Токхайм Р., 1988