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

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

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

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

Символьные классыТаблица 5. 1. Символьные классы POSIXКласс символовОписание[[:alnum:]]Алфавитно-цифровые символы (буквы и цифры)[[:alpha:]]Алфавитные символы (буквы)[[: ascii:]]АSСll-символы (все 128)[[:Ыank:]]Пробельные символы[[:ctrl:]]Управляющие символы[[:digit:]]Цифры[[:graph:]]Графические символы[[:lower:]]Буквы нижнего регистра[ [:print:]]Печатные символы[ [:punct:]]Знаки пунктуации[ [: space:]]Пробел[[: uppe r:]]Буквы верхнего регистра[[:word:]]Словарные символы[[:xdigit:]]Шестнадцатеричные цифрыСледующая глава посвящена сопоставлению с символами Unicode и другимисимволами.О чем вы узнаnи в rnaвe 5• Как создать символьный к ласс или набор с помощью скобочного выражения.• Как создать один или несколько диапазонов в символьном к лассе.• Как выполнить сопоставление с четными числами в диапазоне от О до 99.• Как выполнить сопоставление с шестнадцатеричным числом.• Как использовать символьные сокращения в символьном к лассе.• Как инвертировать символьный к ласс.• Как выполнить объединение и вычитание символьных к лассов.• Что такое символьные к лассы POSIX.На заметку• Настольное приложение Reggy для компьютеров Мае можно бесплатно загрузитьна сайте http://www.

reggyapp. сот. Найденные в тексте совпадения с шаблономГnава S. Символьные кnассы73выделяются изменением цвета. По умолчанию для этого используется синий цвет,но его можно заменить другим цветом на вкладке Preferences, доступ к которойвозможен через меню Reggy.• Приложение Rubular (ht tp: / /www. rubular. сот) - написанный МайкломЛовитом на языке Ruby онлайновый редактор регулярных выра жений,поддерживающий версии Ruby 1.8.7 и 1.9.2.• О четных числах, одним из которых является нуль, можно прочитать на сайтеhttp://mathworld.wolfram.com/EvenNumЬer.html.• Реализация регулярных выражений в Java ( 1.6) задокументирована на сайтеhttp://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html.• Подробнее об организации IEEE и поддерживаемом ею семействе стандартовPOSIX можно прочитать на сайте http://www.

ieee.org.74Глава S. Символьные классыГЛАВА 6Сопоставnение с символамиUnicode и друrими символамиСейчас у вас будет возможность заняться поиском совпадений с символами или ди­апазонами символов, выходящими за пределы стандартного набора ASCII. СтандартASCII (American Standard Code for Information lnterchange) определяет кодировку симво­лов, представляющую цифры, буквы латинского алфавита от А до Z в верхнем и нижнемрегистре, знаки препинания, непечатные знаки и ряд других символов. Кодировка ASCIIиспользуется в течение многих лет - набор из 128 символов на основе латинского алфа­вита был стандартизирован еще в 1968 году. Это произошло задолго до появления пер­сональных компьютеров, мыши и Интернета, но мне до сих пор приходится регулярнозаглядывать в таблицу ASCII.Вспоминаю, как много лет назад, когда моя профессиональная деятельность тольконачиналась, один из моих коллег-инженеров постоянно держал в своем портмоне табли­цу кодов ASCII, чтобы она всегда была под рукой.Поэтому я ни в коем случае не буду отрицать значения кодировки ASCII, хотяона и кажется устаревшей в наши дни, особенно после появления стандарта Unicode(http://www.

unicode. org), текущая версия которого представляет свыше 100000 сим­волов. В то же время Unicode не отбрасывает полностью ASCII; он включает ASCII в своюкодовую таблицу Basic Latin (http://www. unicode. org /charts/PDF /UOOOO. pdf).Текст, с которым мы будем работать, находится в файле voltaire.txt из архива приме­ров и представляет собой высказывание Вольтера (1694-1778), французского философаэпохи Просвещения:Quest-ce que la tolerance� C'est l'apanage de l'humanite. Nous sommes tous petris defaiЬlesses et d'erreurs; pardonnons-nous reciproquement nos sottises, cest la premiere loide la nature.В переводе на русский язык оно звучит так:Что такое терпимость� Это достояние человечества. Все мы слабы и полны за­блуждений; взаимно прощать друr другу наши глупости является первым есте­ственным законом.Сопоставление с символами UnicodeДля указания символов Unicode, известных также под названием кодовых точек(кодовых позиций), существуют различные способы.

(В данной книге под символамиUnicode будут подразумеваться символы, выходящие за пределы кодовой таблицы ASCII,хотя, если говорить строго, это не совсем так.)Начните с того, что скопируйте цитату Вольтера в нижнее текстовое поле приложенияRegexPal (http://regexpal.com), а затем введите в верхнем поле следующее выражение:\u00e9За символами \u следует шестнадцатеричное значение 00е9 (оно не чувствительно к ре­гистру, поэтому его можно записать в виде ООЕ9).

Значению 00е9 соответствует десятичноезначение 233, которое выходит далеко за пределы диапазона значений кодов ASCII (0-127).Обратите внимание на то, что буквы е (малая буква е с дополнительным диакритиче­ским знаком) выделены цветом в RegexPal (рис. 6.1). Это произошло потому, что символуев кодировке Unicode соответствует кодовая точка U+OOE9, совпадающая с регулярнымвыражением \UOOE9."$ mзtch эt line Ьreaks'1Q·..:•e.,-;-c� q..1� la 1=-ol�:e.:a:�? c'e:i-; :.·e.�e.:-.e.Q'� cl.e l':".•.:..zr.e.:-1:.::e. �10·..1� .,,тт.п.�.!'1 :c·..:.:i ;;��r:..:i cie f4�ble.,.,e:i�t. :i' е::�·.:.:-,: p-e.:�cr;:-:c:-.�-::c'..:3 =�-=i:;:-:cq-.:.�rr.�:::.

:-.с, :i:=:';:..�e,, ;:• �,:. :а �:er�e=� ;..-:1 О.е :а ::е.:\..:е." ·.,-cl-;e.1:� ,:60--::.-:--:iNeed more power? Get Regt>x81.1dd't а pov.-erful rec;;ie• t&ster that tnsp·reo RegevPalRound out your mastery оvег rege,: 1A1tt1 ReoexMo1gic and PowerGREPРис. 6.1. Поиск соответствий символу U+OOE9 в приложении RegexPalВ RegexPal используется реализация регулярных выражений JavaScript, которая допу­скает также следующий синтаксис:\хе9Введите его в RegexPal, и вы увидите, что ему соответствуют те же символы, что и вы­ражению \U00e9.Давайте для разнообразия поработаем с другим движком регулярных выражений.Перейдите в браузере по адресу http://regexhero.net/tester. Приложение RegexHero, которое откроется сразу же после этого перехода, написано для платформы .NET76Гnава 6. Сопоставnение с симвоnами Unicode и друrими симвоnамии использует несколько отличающийся синтаксис. Скопируйте содержимое файла basho.txt в текстовую область Target String (Тестируемая строка).

В этом файле хранится от­рывок из поэмы "Старый пруд': считающейся самым великим произведением японскогопоэта Мацуо Басё (который, так уж совпало, умер ровно за неделю до рождения Вольте­ра). Вот этот отрывок на японском языке:i!i ;t!!!1\Н/НЯМ:.,'J!<O)if-ё� (1644-1694)А вот тот же отрывок на русском языке в переводе Т.П. Григорьевой:Старый пруд!Прыгнула лягушка.Всплеск воды.- Басё (1644-1694)Для поиска соответствий в той части текста, которая написана на японском языке,введите в текстовой области Regular Expression следующее выражение:\uбсбО-Этой кодовой точке соответствует японский (китайский) иероглиф, означающий сло­во пруд. Как только вы введете указанное выражение, этот иероглиф выделится в текстеизменением цвета фона (рис.

6.2).СFileТоо1...J ,·egexhero.net '1llelp...'.�.....,.. �-��------1-=11a•f"ix•1-.'terLoq Jn,11lgnorr(".-..t�.IQno1eP•ttemWhrt.up.aC%t_. Mu1t1I neR t,tToleltSnot rn.,tch<'ill!t!Jltt>iMI]!(0)8� (1644-1694).Старый пруд IПрwг11Уnа .nяryuDt.a.Воnпеок еодк.-Басl! (1644-1694)ППi.J.CРис. 6.2. Поиск соответствий символу U+бсбО в приложении Regex HeroГnава 6.

Соnоставnение с симвоnами Unicode и другими симвоnами77Продолжите выполнение данного примера, попытавшись найти соответствие длинно­му тире(-) с помощью следующего выражения:\u2014и среднему тире(-) с помощью такого выражения:\u2013При этом наблюдайте за изменениями, происходящими с текстом.Использование редактора vimЕсли в вашей системе установлен редактор текстов vim, откройте в нем файл basho.

txtс помощью такой команды:vim basho.txtВыполните поиск, введя следующую строку, начинающуюся с символа обратной ко­сой черты(\), и нажав после этого клавишу <Enter> или <Return>:\/%uбсб0Курсор переместится к позиции символа, совпавшего с шаблоном, как показанона рис. 6.3. Список доступных опций приведен в табл. 6.1.

Вслед за символом \% можно ука­зать х или Х для поиска символов с кодами в диапазоне 0-255(0-FF), и - для поиска симво­лов с четырехзначными шестнадцатеричными кодами в диапазоне 256-65535(100-FFFF)и И - для поиска символов с восьмизначными шестнадцатеричными кодами в диапазоне65536-214 74 8364 7(10000-7FFFFFFF). При этом количество доступных кодовых точекзначительно превышает то, которое в настоящее время используется стандартом Unicode.Рис. 6.3.

Поиск соответствий символу И+бсбО в редакторе vim78Гnава 6. Сопоставnение с симвоnами Unicode и другими симвоnамиТаблица 6.1. Сопоставление с символами Unicode в редакторе vlmПервый символх илихМаксимальное количествознаков кодаМаксимальное значение2255 (FF)u4u865535 (FFFF)2147483647 (7FFFFFFF)Поиск соответствий восьмеричным кодам симвоnовВ шаблонах можно использовать восьмеричные коды символов, которые могут содер­жать цифры от О до 7. При этом числовому коду должен предшествовать символ обрат­ной косой черты (\), а при работе с редактором vim - дополнительно знак процентаи о (\%0).

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

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

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