регулярные выражения сборник рецептов
Регулярные выражения. Сборник рецептов. 2-е издание
Скачать книгу
О книге «Регулярные выражения. Сборник рецептов. 2-е издание»
Книга ведущих экспертов по регулярным выражениям содержит все необходимое для решения широкого спектра практических задач в виде более 140 проверенных рецептов. С ее помощью новички смогут обрести базовые навыки и освоить основные инструменты, а программисты и опытные пользователи найдут в ней множество важных мелочей. Каждый рецепт содержит шаблоны, пригодные для немедленного применения. Второе обновленное издание охватывает диалекты регулярных выражений, используемые в восьми языках программирования: C#, Java, JavaScript, Perl, PHP, Python, Ruby и VB.NET. Вы познакомитесь с новыми приемами, научитесь обходить ловушки, имеющиеся в разных диалектах, и благодаря огромной библиотеке готовых решений сможете сэкономить свое время. В книге представлены пошаговые решения наиболее часто встречающихся задач: проверка и форматирование ввода пользователя, поиск и обработка слов, спецсимволов и строк текста, работа с числами в различных форматах представления, работа с адресами URL, путями в файловой системе и IP-адресами, приемы работы с разметкой HTML, XML и с форматами обмена данными. Освоив материал книги, вы сможете полнее использовать все те возможности, которые предоставляет умелое применение регулярных выражений.
На нашем сайте можно скачать книгу «Регулярные выражения. Сборник рецептов. 2-е издание» в формате pdf или читать онлайн. Здесь так же можно перед прочтением обратиться к отзывам читателей, уже знакомых с книгой, и узнать их мнение. В интернет-магазине нашего партнера вы можете купить и прочитать книгу в бумажном варианте.
Регулярные выражения. Сборник рецептов
Мы каждый день работаем с текстом, решая разные задачи. Проверяем текст на правильность ввода некоторых данных, ищем, заменяем некоторые значения, выделем некоторые данные из текста. Порой объём этих данных значительно возрастает и справиться с такими объёмами текстовой информации за актуальный промежуток времени не получается.
Нам на помощь прийдут регулярные выражение. Этот мощный инструмент многие специалисты уже давно используют очень успешно. Я говорю не только о разработчиках программного обеспечения, но и о людях других профессий, которым приходится работать с текстом (редакторы, маркетологи, копирайтеры).
Сегодня я хотел бы познакомить вас с книгой Яна Гойвертса и Стивена Левитана «Регулярные выражения. Сборник рецептов», которая поможет вам понять как работать с регулярными выражениями.
Давайте разберёмся что же за такой полезный инструмент эти регулярные выражения.
Регуля́рные выраже́ния (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэ́кспы или ре́гексы) — система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ. pattern), задающий правило поиска, по-русски также иногда называют «шаблоном», «маской».
Немного трудно понять из описания что это такое, но постараюсь объяснить простым языком. У нас есть текст, который нужно обработать и есть требование как нам нужно его обработать. По требованию мы строим некоторый шаблон. Передаём наш шаблон и текст программе, которая сделает разбор. Так намного проще?
О книге
В книге показаны решения, основанные на использовании регулярных выражений, применённые к широкому кругу практических задач, связанных с обработкой текста, возникающих в различных приложениях.
Книга как бы разделена на две больших логические части. Первая часть посвещена теории регулярных выражений, синтаксису и описанию разных диалектов.
Глава 1. Введение в регулярные выражения;
Глава 2. Основные навыки владения регулярными выражениями;
Глава 3. Программирование с применением регулярных выражений.
Вторая часть посвещена решению разных задач, которые могут возникнуть.
Глава 4. Проверка и форматирование;
Глава 5. Слова, строки и специальные символы;
Глава 6. Числа;
Глава 7. URL, пути и адреса в Интернете;
Глава 8. Разметка и обмен данными.
Книга читается очень легко и понятна будет даже тем людям, которые никогда не имели навыков программирования. Все примеры построены по принципу — ставится задача, решается и после этого разбирается более подробно.
Об авторах
Ян Гойвертс является основателем компании Just Great Software, где занимается проектированием и разработкой некоторых популярнейших программных продуктов для работы с регулярными выражениями. Он является автором приложения RegexBuddy, единственного в мире редактора регулярных выражений, имитирующего особенности 15 диалектов, и PowerGREP, самого мощного инструмента grep для Microsoft Windows.
Стивен Левитан является ведущим экспертом по регулярным выражениям в JavaScript. Он ведет популярный блог, посвященный регулярным выражениям, по адресу http://blog.stevenlevithan.com. Расширение знаний о диалектах регулярных выражений и библиотеках поддержки было для него одним из увлечений на протяжении нескольких последних лет.
Пример
Я хотел бы остановиться на одном примере в книге. В нём рассмотрена проверка правильности ввода ISBN. Его я выбрал по некоторым причинам — он прост, он достаточно нагляден и по случайности в пример, который приведён в книге, написаный на Python закралась ошибка. Я решил переписать этот пример.
Для начала давайте убедимся, что страшный шаблон ^(?:ISBN(?:-1[03]). )?(?=[-0-9 ]<17>$|[-0-9X ]<13>$|[0-9X]<10>$)(?:97[89][- ]?)?8<1,5>[- ]?(?:8+[- ]?)<2>[0-9X]$ действительно работает. Я проведу проверку в текстовом редакторе Espresso.
Редактор нашёл одно совпадение. Шаблон правильный и мы можем приступить к написанию программы на Python (я использовал версию 2.6.1).
Проверим работу нашей программы, которая проверят правильность ISBN.
Программа работает корректно, а подробное обсуждение того, как это работает и некоторую справку можно прочитать в книге (§4.13). Хочу лишь добавить, что каждый рецепт, который дан в книге, подробно разбирается. Разбирается алгоритм и сам шаблон. Как пример возьмём рассмотрение этого шаблона в книге:
^ # Проверка совпадения с началом строки
(?: # Группировка, но нисходящая
ISBN # Соответствует фрагменту ISBN
(?:-1[03])? # Необязательное совпадение с фрагментом «-10» или «-13»
😕 # Необязательное совпадение с фрагментом «:»
\ # Соответствует фрагменту пробела (экранирован)
)? # Повторить группу ноль или один раз
(?= # Опережающая проверка возможности следующих совпадений
[-0-9 ]<17>$ # Соответствует 17 дефисам, цифрам или пробелам
| # за которыми следует конец строки. Или
[-0-9X ]<13>$ # Соответствует 13 дефисам, цифрам, «X» или пробелам
| # за которыми следует конец строки. Или
[0-9X]<10>$ # Соответствует 10 цифрам или «X», с последующем концом строки
) # Конец позитивной опережающей проверки
(?: # Группировка, но нисходящая
97[89] # Соответствует фрагменту «978» или «979»
[-\ ]? # Необязательное совпадение с «-» или пробелом (экранирован)
)? # Повторить группу ноль и один раз
7 <1,5># Соответствует от 1 до 5 цифр
[-\ ]? # Необязательное совпадение с «-» или пробелом (экранирован)
(?: # Группировка, но нисходящая
2+ # Цифра, которая соответствует 1 или более раз
[-\ ]? # Необязательное совпадение с «-» или пробелом (экранирован)
) <2># Повторить группу точно 2 раза
[0-9X] # Соответствует цифре или «X»
$ # Проверка с концом строки
Заключение
Регулярные выражения — это очень мощный инструмент, который может упростить решения многих задач. Данная книга поможет в полной мере овладеть регулярными выражениями.
«Регулярные выражения. Сборник рецептов»
Ян Гойвертс и Стивен Левитан
Издательство «Символ-Плюс», 2010, 608 страниц
ISBN 978-5-93286-181-3
Спасибо за предоставленную книгу издательству «Cимвол-Плюс». В интернет-магазине издательства книгу можно приобрести.
Сборник содержит более 100 рецептов, которые помогут научиться эффективно оперировать данными и текстом с применением регулярных выражений.
Книга знакомит читателя с функциями, синтаксисом и особенностями этого важного инструмента в различных языках программирования: C#, Java, JavaScript, Perl, PHP, Python, Ruby и VB.NET. Предлагаются пошаговые решения наиболее часто встречающихся задач: работа с адресами URL и путями в файловой системе, проверка и форматирование ввода пользователя, обработка текста, а также обмен данными и работа с текстами в форматах HTML, XML, CSV и др.
Данное руководство поможет как начинающему, так и уже опытному специалисту расширить свои знания о регулярных выражениях, познакомиться с новыми приемами, узнать все тонкости работы с ними, научиться избегать ловушек и ложных совпадений. Освоив материал этой книги, вы сможете полнее использовать все те возможности, которые предоставляет умелоеприменение регулярных выражений, и тем самым сэкономить свое время.
Купить бумажную версию
Скачать книгу
Комментарии
Ольга, 02.12.2014 18:29
Max, 20.02.2015 21:09
огромное спасибо за open source book 😀 без лишних движений. просмотрел быстро, книга годная, правда ну очень уж муторные эти регулярные выражения )
Иван, 12.04.2018 17:12
Регулярные выражения сборник рецептов
When the Fedex guy dropped off a copy of “Регулярные выражения Сборник рецептов” last week I thought there must have been some mistake. I don’t read any language that uses the Cyrillic script. Then I noticed the musk shrew on the cover. Turns out the book is the Russian translation of Regular Expressions Cookbook. It’s in hardback and the cover is maroon rather than magenta. Judging from the numbering in the table of contents, the book was translated entirely.
I don’t know anything about Russian bookstores. The very first page of “Регулярные выражения Сборник рецептов” is an advertisement for books.ru. Typing in the book’s ISBN on that site leads me to a page where you can apparently buy Регулярные выражения Сборник рецептов.
4 Comments
Interesting: According to Google Translate they’ve used “Collection” instead of “Cookbook”
Cookbook apparently has no translation but “Cook Book” ==> “Кулинарная книга” (Kulinarnaya kniga)
Caution – for all I know this could be an idiom for “your mother wears army boots”
Comment by Alec Burgess — Saturday, 13 February 2010 @ 23:02
I’m sure that Russian speaking programmers recognize O’Reilly’s Сборник рецептов series just like English speaking programmers recognize the Cookbook series. Perhaps it was a literal translation of Cookbook that results in an unfortunate reference to Mother. I speak enough languages to know that translating or quoting words out of context often doesn’t work. So I just copy/pasted the book’s whole title into my blog post.
Comment by Jan Goyvaerts — Sunday, 14 February 2010 @ 15:19
As a native speaker of Russian I may assure you that the title is ok. The Russian for “cookbook” is definitely “кулинарная книга” as Alec writes but it’s rarely used outside of real cooking context. “Сборник рецептов” on the other side is the Russian for “a collection of recipes” which appears to mean exactly the same as “a cookbook” but fits the non-cooking topic better
I don’t understand the reference to a mother with army boots. Suppose it’s some weird machine translation artifact.
Comment by Alex Kapranoff — Monday, 15 February 2010 @ 17:20
I think the army boots are a weird artifact of Alec’s brain.
Comment by Jan Goyvaerts — Tuesday, 16 February 2010 @ 14:28
Sorry, the comment form is closed at this time.
Регулярные выражения. Сборник рецептов
Посоветуйте книгу друзьям! Друзьям – скидка 10%, вам – рубли
Эта и ещё 2 книги за 299 ₽
Сборник содержит более 100 рецептов, которые помогут научиться эффективно оперировать данными и текстом с применением регулярных выражений.
Книга знакомит читателя с функциями, синтаксисом и особенностями этого важного инструмента в различных языках программирования: C#, Java, JavaScript, Perl, PHP, Python, Ruby и VB.NET. Предлагаются пошаговые решения наиболее часто встречающихся задач: работа с адресами URL и путями в файловой системе, проверка и форматирование ввода пользователя, обработка текста, а также обмен данными и работа с текстами в форматах HTML, XML, CSV и др.
Данное руководство поможет как начинающему, так и уже опытному специалисту расширить свои знания о регулярных выражениях, познакомиться с новыми приемами, узнать все тонкости работы с ними, научиться избегать ловушек и ложных совпадений. Освоив материал этой книги, вы сможете полнее использовать все те возможности, которые предоставляет умелое применение регулярных выражений, и тем самым сэкономить свое время.
Отзывы 2
Отличная книга, покупал еёв все время за гораздо большие деньги. Содержит именно полезных, нужных и нестандартных примеров использования регулярных вложений.
Отличная книга, покупал еёв все время за гораздо большие деньги. Содержит именно полезных, нужных и нестандартных примеров использования регулярных вложений.
Книга действительно кладезь сведений и рецептов на все случаи использования регулярных выражений. Жаль, что нет определения регулярных выражений, предложенных Клини.