Главная » Просмотр файлов » regulyarnyie-vyirazheniya-osnovyi

regulyarnyie-vyirazheniya-osnovyi (852744), страница 4

Файл №852744 regulyarnyie-vyirazheniya-osnovyi (Пособие по регуляркам) 4 страницаregulyarnyie-vyirazheniya-osnovyi (852744) страница 42021-10-05СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

Сами по себефигурные скобки считаются метасимволами.Другой пример квантификатора - вопросительный знак (? ), который соответствуетповторению предыдущего символа нуль или один раз. В приведенном выше регулярномвыражении он следует за символом дефиса, указывая на то, что дефис может отсутство­вать, а если он имеется, то не может встречаться более одного раза подряд.

Существуюти другие квантификаторы, такие как символ "плюс" ( + ), соответствующий повторениюпредыдущего символа один или более раз, и символ "звездочка" (*), соответствующийповторению предыдущего символа нуль или более раз.С использованием квантификаторов последнее регулярное выражение можно перепи­сать в более компактной форме:(\d{З,4} [.-]?)+"Плюс" означает, что данная величина может встречаться один или несколько раз.Этому регулярному выражению будут соответствовать три или четыре цифры, за ко­торыми следует необязательный дефис или точка, причем вся эта группа, заключеннаяв круглые скобки, может встречаться один или несколько раз ( + ).20Глава 1.

Что такое регулярные выраженияУ вас еще не кружится голова? Надеюсь, нет. Вот посимвольный анализ этого регу­лярного выражения:•••••••••••••••( - открывает захватывающую группу;\ - начальный символ сокращения (экранирует следующий символ);d - конечный символ сокращения (представляет произвольную одиночную цифру в диапазоне от О до 9 );{ - открывает квантификатор;3 - минимально допустимое количество вхождений;, - разделитель;4 - максимально допустимое количество вхождений;} - закрывает квантификатор;[ - открывает символьный класс;. - точка (соответствует литеральной точке);- - дефис (соответствует литеральному дефису);] - закрывает символьный класс;? - квантификатор, которому соответствует отсутствие или одиночное вхожде­ние предыдущего символа;) - закрывает захватывающую группу;+ - квантификатор, которому соответствует одно или несколько вхождений пре­дыдущего символа.Несмотря на то что это выражение работает, оно не совсем правильное, посколькуему соответствуют любые группы из 3 или 4 цифр, а не только те, которые вписываютсяв формат телефонного номера.

Однако ошибки учат нас лучше успеха.Поэтому давайте чуть подправим предыдущее выражение:(\d{З) [.-]?) {2)\d{4)Этому регулярному выражению соответствуют две группы по три цифры каждая,причем за любой из этих групп может следовать необязательный дефис, а вся последова­тельность завершается ровно четырьмя цифрами.Испоnьзование nитераnьных круrnых скобокНаконец, рассмотрим регулярное выражение, которое допускает, чтобы первая по­следовательность из трех цифр была заключена в круглые скобки, а кроме того, делаеттерриториальный код необязательным:Л(\(\d{З}\) I Л \d{З} [.-]?) ?\d{З) [.-]?\d{4)$Чтобы убедить вас в том, что интерпретация этого выражения не вызывает трудно­стей, мы также выполним его посимвольный анализ 1 :IС дискуссией по поводу этого выражения и замечаниями к нему можно ознакомиться по следующемуадресу: http://www.

oreilly. сот/ са talog /errata. csp? isbn = 978 l4 4 93 9268 О. - Примеч. ред.Глава 1. Что такое регулярные выражения21•л (символ перевода каретки) - в начале регулярного выражения или после вер­тикальной черты ( 1 ) указывает на то, что условием поиска является расположениетелефонного номера в начале строки;•( - открывает захватывающую группу;•\ ( - литеральная открывающая круглая скобка;•\d - представляет произвольную одиночную цифру;•{ 3} - квантификатор, которому соответствуют ровно три следующие подрядцифры (поскольку он стоит после \d);•\ ) - литеральная закрывающая круглая скобка;•1 (вертикальная черта) - разделяет альтернативные варианты.

В данном случаеона указывает на то, что территориальный код может быть задан как в скобках,так и без скобок;•л -•\d - представляет произвольную одиночную цифру;•{ 3} - квантификатор, которому соответствуют ровно три следующие подрядцифры;•[ . - ] ? - представляет необязательную точку или дефис;•) закрывает захватывающую группу;•? - делает предшествующую группу необязательной, т.е. наличие префикса, зада­ваемого группой, не является обязательным условием;•\d - представляет произвольную одиночную цифру;•{ 3 } - квантификатор, которому соответствуют ровно три следующие подрядцифры;•[ . - ] ? - представляет еще один необязательный элемент в виде точки или дефиса;•\d - представляет произвольную одиночную цифру;•{ 4 } - квантификатор, которому соответствуют ровно три следующие подрядцифры;представляет начало строки;• $ - соответствие концу строки.Этому окончательному регулярному выражению соответствует принятый в СШАи Канаде формат десятизначного телефонного номера, допускающий использование кру­глых скобок, дефисов и точек.

Опробуйте это регулярное выражение на телефонных но­мерах, записанных с использованием различных форматов, чтобы увидеть, какие из нихбудут (или не будут) соответствовать данному шаблону.Включение захватывающей группы в приведенное выше регулярное выражениене является необходимым. Вернее, необходима сама группа, но не ее запомина­ющий функционал. В подобных случаях лучше использовать незахватывающиегруппы. Почему это так, вы поймете, когда мы будем пересматривать это выражение в последней главе.22Глава 1. Что такое регулярные выраженияПрияожения со встроенным механизмомреrуяярных выраженийВ завершение главы упомяну о некоторых приложениях, в которых предусмотренаподдержка регулярных выражений.Text Mate - текстовый редактор, доступный только для компьютеров Мае, в которомиспользуется та же библиотека регулярных выражений, что и в языке программированияRuby. Для работы с регулярными выражениями используйте средство Find (Найти), какпоказано на рис.

1.3. Проследите за тем, чтобы был установлен флажок Regular expression(Регулярное выражение).orm-j?hone.txt1707-827-701�о()()FindFl,o fл(\(\d{J}\)l'ld{З}[.-]1)1\d/J}[.-]7\d{4}!•Rrplact:\т� Regular expressionUnt l Cotumn 13AscilDoc:;--T&bSizJ!:4•� lgnort case!0[!]� Wrap around-Рис.

1.3. Ввод регулярного выражения для телефонньtх номеров в редакторе Text MateNotepad++ - популярный бесплатный текстовый редактор для Windows, в которомиспользуется библиотека регулярных выражений PCRE. Для работы с регулярными вы­ражениями используйте средство поиска и замены (рис. 1.4), щелкнув на переключателеRegular expression (Регулярное выражение).Oxygen - популярный мощный ХМL-редактор, в котором используется синтаксисрегулярных выражений Perl 5. Для работы с регулярными выражениями предусмотренодиалоговое окно Find/Replace (Найти/Заменить), показанное на рис.

1.5, и средство соз­дания регулярных выражений языка ХМL Schema. В случае использования диалоговогоокна поиска и замены установите флажок Regular expression (Регулярное выражение).Гnава 1. Что такое регуnярные выражения23_ • S: Do•leldika\RegEx\Chtps\pho�txt - Notepad+ •Ф,11йлоПравкаphone.Ьc!i:зJПоискооB�iAКоАJ1роею1Сикт1кокыОпцииМ•кросыЗ1nуск! "'ПпаrиныОкнаG!Ji)707-827-7019НаttтмНl1йm �ь J на.fТи в ф,айпах П�п;м Iнайти: лW{3}Qiл',1{3}[.-]')?',1{3}[.·]l',1{•}sLnоа"""т•тъ __]]Нa{mi� ео ec�;-i!�ых �!С'реПахIJНоltти осе оjI_ теqщ... док_. ..Обь�P�(',,.'(,\t,'/),\x ...

)!((' i. ..,Peжwin0t1CК.aо Реrуляр. �,��ражем.Про:,рачность1-t НOSЬII! стоокиDos\\Чindowsln:l Со\:13 SeJ:010Norinal text I length: 1.2 lin�: 1т, "IQUП-8!NSРис. 1.4. Ввод регулярного выражения для телефонных номеров в редакторе Notepad++-�е: txi [C.\U.cn.\mr1:m\alde:\om't-p._,tx12 - <oXY9f'!V> ХМА. EdltOff;lc Edrt Find Pn;�t Орtоом Took Dowrnenc. VГindow Нdр�-e,:it++- -=--:- .J .....•сэ.l'l:d<'!�l''ot{!!! l)l...rjj(З!{. 7'o'(<)I-,.

. ,����������1.........., 0.'O'•th.:""""'"'"""'........I...JC.иnfltNe:""'./JW'e>.-cu,d.""""'•••()iy_ ....�--•cinvf)Dot,,....t:t.r,s"2�ц:1"es.-i'--�-'--"��t'tofnd-C.:VRr·��фonr.Ь,tРис. 1.5. Ввод регулярного выражения для сопоставленияс телефонным номером в редакторе Oxygen24Глава 1. Что такое регулярные выраженияО чем вы узнаnи в rnaвe 1• Что такое регулярные выражения.• Как использовать RegexPal - простой процессор регулярных выражений.• Как задать соответствие строковым литералам.• Как задать соответствие цифрам с помощью символьного класса.• Как задать соответствие цифрам с помощью символьного сокращения.• Как задать соответствие нецифровому символу с помощью символьного сокращения.• Как используются захватывающие группы и обратные ссылки.• Как задать соответствие точному количеству повторений символа.• Как задать соответствие необязательному символу (может быть повторен нуль илиодин раз) или символу, который должен быть повторен один или несколько раз.• Как задать соответствие тексту, находящемуся в начале или в конце строки.На заметку• RegexPal (http://www.regexpal.сот) - веб-приложение, реализующее меха­низм регулярных выражений JavaScript.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6353
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее