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

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

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

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

Данная реализация не является наиболееполной и поддерживает не все возможности регулярных выражений. В то же вре­мя это приложение предоставляет множество возможностей для начинающих, чтоделает его весьма простым и удобным в работе инструментом, пригодным для ис­пользования в учебных целях.• Для работы с примерами книги можно использовать браузер Google Chrome(https://www.google.com/chrome) или MozillaFirefox(http://www.mozilla.org/en-US/ f irefox/new/).• Благодаря чему регулярные выражения способны обеспечивать многовариантные ре­шения? Одним из факторов, способствующих этому, служит то, что регулярные выра­жения обладают замечательным свойством - компонуемостью (composability).

(Под­робное объяснение этого термина, данное Джеймсом Кларком, можно найти по адресуhttp://www.thaiopensource.com/relaxng/design.html#section: 5.)Когда о языке, будь то формальный язык, язык программирования или язык схем,говорят, что он обладает свойством компонуемости, то под этим подразумевается,что можно не только использовать его отдельные атомарные части, но и комбини­ровать их всевозможными способами с помощью методов, предоставляемых самимязыком. Как только вы научитесь работать с отдельными составными частями ре­гулярных выражений, вы сможете находить соответствия шаблонам любой степенисложности.• Приложение TextМate доступно по адресу http: //www.macromates .сот.Для получения более подробной информации относительно использования ре­гулярных выражений в TextMate посетите сайт http: //manual .macromates.com/en/regular_expressions.Гnава 1.

Что такое регуnярные выражения25• Для получения более подробной информации относительно приложения Notepad++посетите сайт http://notepad-plus-plus.org. С документацией, содержащейописание порядка использования регулярных выражений в приложении Notepad++,можно ознакомиться по адресу http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Regular_Expressions• О приложении Oxygen можно прочитать на сайте http://www.oxygenxml.com.Информация относительно использования регулярных выражений посред­ством диалогового окна поиска и замены доступна по адресу ht t р :/ / www.oxygenxml.com/doc/u g-editor/topics/find-replace-dialog.html.

Информация относительно средства создания регулярных выраженийXML Schema доступна по адресу http://www.oxygenxml.com/doc/ug­ditor/topics/XML-schema-regexp-builder.html.26Глава 1. Что такое реrуnярные выраженияГЛАВА 2Сопоставление с простыми шаблонамиРабота механизма регулярных выражений основана на сопоставлении текста с неко­торым шаблоном, нахождении фрагментов, соответствующих этому шаблону, и выполне­нии над ними определенных действий. В этой главе рассматриваются простейшие спосо­бы поиска совпадений текста с шаблоном с помощью следующих элементов:••••строковые литералы;цифры;буквы;произвольные символы.В первой главе для демонстрации работы регулярных выражений использовалосьприложение RegexPal, написанное Стивеном Левитаном.

В этой главе мы воспользуемсясайтом RegExr Гранта Скиннера (www. regexr. сот), как показано на рис. 2.1.Каждая страница данной книги будет уводить вас все дальше в "дебри" регуляр­ных выражений. Однако вы в любой момент можете сделать кратковременныйпривал, чтобы разобраться с синтаксисом. Я хочу сказать, что вы должны пы­таться опробовать новые возможности сразу же после того, как прочитали о них.Не бойтесь экспериментировать. Ошибайтесь.

Старайтесь докопаться до сутии лишь затем вновь устремляйтесь вперед. Не существует никакого другого спо­соба научиться загонять шар прямо в лузу, кроме как пытаться это сделать.Прежде чем мы продолжим, хочу сказать несколько слов о том, какого рода по­мощь вам может оказать RegExr. Обратите внимание на ссылки Examples (Примеры)и Community (Сообщество) в левой части окна. Первая из них приведет вас к примерам,иллюстрирующим синтаксис регулярных выражений, а вторая - к множеству регуляр­ных выражений, предложенных членами сообщества и снабженных рейтинговыми оцен­ками. Используя эти ссылки, вы найдете массу полезной для себя информации.

Допол­нительные сведения можно получить, наведя указатель мыши на регулярное выражениеили текст в окне RegExr. Именно благодаря возможности использования этих вспомога­тельных ресурсов RegExr стал одним из моих излюбленных онлайновых тестеров регу­лярных выражений.w+toegEv2.

0 Ьу gski nneг. com !press,on & Те t to see matches. Roll over matcl,es01- the expres$ioп for detail5, Undo n11stakes v1ith ctrl-z.Sэ е & Share expressioпs \Vith friends 01· tl,e (on1m�Фit .• Аfull Refe1-enct1; &, Help is av.эi1ab\e in the ibrJr , о,· watchthe video Tutor; l.Senpl,.., text. fo,· testing:abcdefgh, J klmi,opqгs tuvw�yz ABCDEFGIO JКL0123456789 ·-. , l@as•, t, · (); \/ 1 <>" ·12345 -98.7 З,141 .6180 9,000 -42555.123,4567-1-(800)-555-2468foo@demo.netbaг.ba@test.co.ukhttp://foo.eo.uk/http://гegeaг.com/foo.htmllq=baгРис. 2.1. Вид веб-приложения RegExr в окне браузера Google ChromeНа рис.

2.1 представлена последняя версия RegExr 2. Для работы с примерами, при­веденными в книге, нам будет удобнее использовать версию RegExr l, несмотря на точто в настоящее время она считается устаревшей. Чтобы получить доступ к этой версиивеб-приложения, достаточно щелкнуть на ссылке RegExr v1 в правом верхнем углу окна.Щелкнув в открывшемся окне на ссылке Desktop Version (Настольная версия), вы смо­жете загрузить настольную версию RegExr vl, которую мы далее будем использовать.В качестве основного текста, с которым мы будем работать в этой и последующихглавах, выбрана поэма Сэмюэла Тейлора Кольриджа "The Rime of the Ancient Mariner"("Сказание о старом мореходе"), впервые опубликованная в сборнике "Лирические бал­лады" (1798). На первых порах мы ограничимся простой текстовой версией оригинала,однако впоследствии будем работать с версией текста, размеченной тегами HTMLS.

Пол­ный текст поэмы хранится в архиве примеров в файле rime. txt, но в этой главе мы будемиспользовать лишь начальные строки поэмы.ТНЕ RIМE OF ТНЕ ANCYENT МARINERE, IN SEVEN PARTS.ARGUМENT.How а Ship having passed the Line was driven Ьу Stormsto the cold Country towards the South Pole; and how fromthence she made her course to the tropical Latitude of theGreat Pacific Ocean; and of the strange things that befell;28Глава 2.

Сопоставление с простыми шаблонамиand in what manner the Ancyent Marinere came back to hisown Country.I.1234It is an ancyent Marinere,And he stoppeth one of three:"Ву thy long grey beard and thy glittering еуе"Now wherefore stoppest me?Скопируйте данный текст и вставьте его в нижнее текстовое поле в окне приложенияRegExr. Этот же текст содержится в файле rime-intro.txt, который можно найти на сайтеGithub по следующему адресу:https://github.com/michaeljamesfitzgerald/�Introducing-Regular-ExpressionsТочно такой же файл rime-intro.txt, как и файл rime.txt, находится в архиве примеровпо следующему адресу:http://examples.oreilly.com/9781449392680/examples.zipСоответствие nитераnьному текстуНаиболее очевидный и тривиальный способ применения регулярных выражений это сопоставление строк с одним или более литеральными символами, называемымистроковь1ми литералами, или просто литералами.Поиск соответствий строковым литералам выполняется с использованием обычныхлитеральных символов.

Чувствуется что-то знакомое, не так ли? Это напоминает поискфрагментов текста в текстовых процессорах или отбор информации по ключевым сло­вам в поисковых системах. Когда вы выполняете поиск текстовой строки путем простогопосимвольного сравнения текста с шаблоном, вы фактически осуществляете поиск с по­мощью строкового литерала.Например, чтобы найти соответствие слову (строке символов) Ship, которое находит­ся в самом начале поэмы, достаточно ввести слово Ship в верхнем текстовом поле окнаRegExr, и оно автоматически подсветится в тексте, находящемся в нижнем поле. (Вводяслово Ship, не забудьте, что оно должно начинаться с прописной буквы S.)Ну что, получилось? Слово Ship должно было выделиться синим цветом. Если этогоне произошло, проверьте правильность ввода.По умолчанию сопоставление строк в RegExr выполняется с учетом регистрасимволов.

Если вы не хотите различать символы нижнего и верхнего регистра,установите флажок ignore case (игнорировать регистр) в верхней части окна.В результате шаблон найдет не только слово Ship, но и слово ship, если оно так­же будет присутствовать в целевом тексте.Соответствие цифрамДля поиска соответствий цифрам введите в верхнем текстовом поле окна RegExr сле­дующий метасимвол:\dГnава 2. Сопоставnение с простыми шабnонами29Поскольку флажок global (глобальный режим) по умолчанию установлен, данному ме­тасимволу будет соответствовать каждая из цифр, встречающихся в тексте (рис.

2.2). Приснятом флажке global выражение \d найдет только первое вхождение цифрового символа.RegbrReplaceMatch;!.,;\ show 111U1gnoreCaseglob•IU @'riended'-- dotallТНЕ RIME OF ТНЕ ANCYENi МARINERE, IN SEVEl,1 PARTS.ARGUMENТ,\W\dHow а Shlp hillving pilssed the Une v1as driven Ьу Storms to the coldCountry tow;trds the South Pole1 and hov1 from thence she m•d• her cour•eto the tropic.111 LaШude of the Greiilt Paciflc Ocean; and of t:Me strangethings that befellt and ln what manner the Ancyent Mar/ner• came back tohis ovm Country,1.12(34ConvnuaitySillmple.s\d\О\,\S(АБС)[ААВС]lt is an ancyent Marin•r•,And he stoppeth one of thre•:"Bv thy long grey Ьеагd iiПd thy glittering еуе•Now .,;,eгefore stoppest me"[a-z)Mat.che:• •nv cheracu,, e)(c•pt for l1n�ь�эks ,, dotall 11 false.But still he holds the v,edding-guest-­Theгe was а Ship, Quoth he-''Nay, lf thou'st got а laughsome tale.RegExp: / d/gpattern: \dAillgs1 gО c:.aptvrrng g"oups:А outegExrРис. 2.2.

Поиск всех вхождений цифр в окне RegExr с помощью символьного сокращения \ dА теперь используйте вместо сокращения \d эквивалентный ему символьный класс:[0-9]Как видите, несмотря на различия в синтаксисе, оба выражения, как \d, так и [0-9],приводят к одному и тому же результату (рис. 2.3)...,# ••....Более подробно о символьных классах речь пойдет в главе 5 .Символьный класс [ 0-9] - это диапазон, которому соответствует любая одиночнаяцифра от О до 9. Этот же диапазон можно было бы задать, перечислив все принадлежа­щие ему цифры:[0123456789]Чтобы найти вхождения только двоичных цифр О и 1, можно использовать следую­щий символьный класс:[01]30Гnава 2.

Сопоставnение с простыми шабnонамиR•gExrReplкeM•tchSampl�[0-9]!!..LgloballgnoreCasl!!t.Jt�tendedLJ dotallНу S.vedCommunrtyshowallL-J ,,.,ultillne\е,ТНЕ RIME OF ТНЕ ANCYENТ МARINERE, IN SEVEl'i PARTS.\WARGUMENi.\dHov, а Ship having passed tl,e Line vras driven Ьу Storms to the coldCountry towards the South Pole; and how from thence st,e made h@r courseto the troprcal Liilt:Jtude of the Great Padfic Ocean: and of tke strangeth1ngs that befell: and in W'mat manner the Ancyent Marinere came back tohi.s ov,n Country.\D\s\S[А!!С]!.[�АВС][a·z]It ls an ancyent Marlnere,And he stoppeth one of three:"Ву thy long grey beerd and thy glittering еуе�Now wheгefore stoppest me?1234Metc.hes any charact@r e.xc•pt for l1n1Rbreзks if dotall is falseBut still he holds t:he v11e:dding-gue:st-­There was • Shlp, quoth he-·"Nay, lf thou'st got а laughsome.

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

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

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