Справочник от Автор24
Поделись лекцией за скидку на Автор24

Регулярные выражения

  • 👀 561 просмотр
  • 📌 497 загрузок
Выбери формат для чтения
Загружаем конспект в формате pptx
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Регулярные выражения» pptx
VBA Регулярные выражения Назначение Регулярные выражения — это шаблоны (образцы), с помощью которых проводится анализ символьных строк Регулярные выражения реализованы в большинстве языков программирования. •Различные реализации отличаются в деталях, но принципы создания регулярных выражений везде одинаковы. •Две основные задачи: поиск и замена Основная операция при использовании регулярных выражений — это их сопоставлениес символьными строками. У этой операции возможны два результата. Если строка (или некоторая ее подстрока) имеет содержание (набор символов) и/или структуру, отвечающую шаблону, то результат сопоставление — удача. В противном случае — неудача. Назначение Механизм регулярных выражений позволяет "найти совпавший с образцом фрагмент строки,и заменить его другим фрагментом", причем замена будет производиться тоже по шаблону с учетом совпадений, например, символы, выявленных при поиске строки, могут быть вставлены в замещающий фрагмент. Основой механизма регулярных выражений являются шаблоны для нечеткого поиска по тексту (т.е. поиска, допускающего варианты). Паттерн или образец или шаблон (pattern) — задает правило поиска. Назначение Регулярные выражения (образцы, шаблоны) составляются из обычных и/или специальных символов (метасимволов). Они формируются из отдельных элементов, называемых атомами. В роли атомов могут выступать отдельные символы или группы символов. Самый простой шаблон — это обычный конкретный одиночный символ, который сопоставляется только сам с собой. Поэтому анализатор регулярных выражений пользуется следующим правилом: если в регулярном выражении в некоторой позиции встретился конкретный символ (например, буква), то для успеха сопоставления на соответствующем месте в анализируемой строке должен находиться точно такой же символ. Сопоставление производится с учетом регистров букв. Назначение Часто нужно указать, что в некоторой позиции строки может находиться любой символ. Заместитель произвольного символа в шаблонеиспользуется точка (шаблон "любой символ"). Однако на "любой " есть ограничение. Как правило, символ новой строки «\n» в число "любых" не включается Пример. 9с /a./ — любая двух символьная последовательность, которая начинается с буквы а, и не является последовательностью /a\n/. Регулярны е вы раж ения WORD escape-последовательности еscape-символы — специальные символы, с помощью которых можно изменять свойства следующих за ними символов. Наличие escape-символа говорит о том, что следующий за ним символ (или символы) следует обрабатывать особым образом. Комбинация escapeсимвола и следующих за ним символов называется escape-последовательностью. С помощью еscape-символов формируются абзацы, табуляция и прочие стили документа MS Office Спец. символ ы Ч то обозна чают ^p Симво л конца абзаца (¶) ^? Любой симво л ^# Любая цифра ^$ Любая буква ^e Конце вая сноск а ^d Поле ^f Сноск а ^b Обрыв секци и(=== End of section === ) ^w Любое число и любая комби нация обыкн овенн ых и неразр ываем ых пробе лов, табул яций и концов абзаца Специальны е символы WORD Специальные символы, которые можно использовать только в том случае, если опция Use wildcards (Подстановочные знаки) не задействована. Спец. символы Что обозначают ^p Символ конца абзаца (¶) ^? Любой символ ^# Спец. символ ы Ч то обозна чают ^p Симво л конца абзаца (¶) ^? Любой симво л ^# Любая цифра ^$ Любая буква ^e Конце вая сноск а ^d Поле ^f Сноск а ^b Обрыв секци и(=== End of section === ) ^w Любое число и любая комби нация обыкн овенн ых и неразр ываем ых пробе лов, табул яций и концов абзаца Любая цифра ^$ Любая буква ^e Концевая сноска ^d Поле ^f Сноска ^b Обрыв секции(===End of section===) ^w Любое число и любая комбинация обыкновенных и неразрываемых пробелов, табуляций и концов абзаца Специальны е символы WORD Специальные символы, использование которых не зависит от опции Use wildcards (Подстановочные знаки). Спец. символы Что обозначают ^t Символ табуляции (®) ^a Комментарий Спец. символ ы Ч то обозна чают ^p Симво л конца абзаца (¶) ^? Любой симво л ^# Любая цифра ^0nnn Любой ANSI или ASCII символ с кодом nnn ^^ Символ ^ ^$ Любая буква ^e Конце вая сноск а ^d Поле ^f Сноск а ^g Графика ^n Обрыв колонки(···Column Break···) ^l Принудительный обрыв строки (¿) ^m Принудительный обрыв страницы (---Page Break---). Если опция Use wildcards задействована, то ищет и принудительный обрыв страницы, и обрыв секции. ^+ Длинное тире (—). Символ с кодом 0151. ^= Короткое тире (–). Символ с кодом 0150. ^s Неразрываемый пробел (°) ^~ Неразрываемый дефис (-) ^- Мягкий перенос (¬) ^b ^w Обрыв секци и(=== End of section === ) Любое число и любая комби нация обыкн овенн ых и неразр ываем ых пробе лов, табул яций и концов абзаца Специальны е символы WORD Подстановочные знаки, которые можно использовать только в том случае, если опция Use wildcards (Подстановочные знаки) задействована. Спец. знаки Что обозначают Пример строки поиска ? Один любой символ б?к * Любое число любых символов б*к [] Один из указанных символов б[аоу]к [-] [!] [!x-z] [а-яё] Один символ из диапазона.Диапазон должен быть указан в порядке возрастания [А-ЯЁ] кодов символов. [0-9] Один любой символ не указанный после б[!ы]к восклицательного знака Один любой символ, не входящий в [!а-яё]ок диапазон указанный после восклицательного знака [!0-9] Что будет находить бак, бок, бук, б5к, б¶ к и т. п. бык, бардак, белый.¶ Полковник и т. п. бак, бок, бук Любая строчная русская буква Любая прописная русская буква Любая цифра бак, бок и т. п., но не бык Бок, Док и т. п., но не бок, док Любой символ кроме цифр Специальны е символы WORD Подстановочные знаки, которые можно использовать только в том случае, если опция Use wildcards (Подстановочные знаки) задействована. Пример Спец. Что обозначают строки Что будет находить знаки поиска Строго n штук предыдущего символа 10{3} 1000, но не 100, 10000 или выражения.Выражением является {n} все то, что заключено в круглые 102020, но не 1020, скобки. Выражение может состоять 10(20){2} 10202020 как из конкретных символов, так и содержать спец. знаки. n и более штук предыдущего символа 1000, 10000, 100000 и т. д., {n;} 10{3;} или выражения но не 100 От n до m штук предыдущего 1000, 10000, но не 100, {n;m} 10{3;4} символа или выражения 100000 Ноль или более штук предыдущего @ 10@ 10, 100, 1000, 10000 и т. д. символа или выражения < Начало слова <бок боксер, но не колобок > Конец слова бок> колобок, но не боксер Примеры Опция Use wildcards (Подстановочные знаки) должна быть задействована в диалоге поиска и замены. Строка поиска Что будет находить [!^0013]^0013[!^0013] Одиночный конец абзаца в окружении двух неконцов. (Подробный разбор см. ниже). ^0013{2;} Два и более конца абзацев ^0032{2;} Два и более пробела [.,:;\!\?] Знак препинания ( . , : ; ! ? ) [0-9]^0032[0-9] Две цифры, разделенные пробелом Спец. символ ы Ч то обозна чают ^p Симво л конца абзаца (¶) ^? Любой симво л ^# Любая цифра ^$ Любая буква ^e Конце вая сноск а ^d Поле ^f Сноск а [0-9]^0032[A-Za-zА-яЁё] Цифра и буква (английская или русская) разделенные пробелом.(Подробный разбор см. ниже). -[0-9] Дефис и цифра <[0-9]@-[0-9]@> Два целых числа, разделенные дефисом \([0-9]\) Цифра в круглых скобках <[0-9]@> Целое число (точнее — непрерывная последовательность цифр) ^b ^w Обрыв секци и(=== End of section === ) Любое число и любая комби нация обыкн овенн ых и неразр ываем ых пробе лов, табул яций и концов абзаца <[0-9]@,[0-9]@> Десятичная дробь, набранная через запятую <[A-Za-z]@> Английское слово <[А-яЁё]@> Русское слово <[А-ЯЁ][а-яё]@> Русское слово, набранное строчными буквами, но с прописной.(Подробный разбор см. ниже). Примеры 1 символ строки поиска Любой символ, но не конец абзаца [!^0013] [!^0013]^0013[!^0013] 2 символ 3 символ Конец абзаца ^0013 В квадратных скобках указан символ с кодом 0013 (конец Конец абзаца абзаца). Знак «!» указывает на (символ с кодом то, что в этой позиции может 0013). находится любой символ кроме конца абзаца. Любой символ, но не конец абзаца [!^0013] В квадратных скобках указан символ с кодом 0013 (конец абзаца).Знак «!» указывает на то, что в этой позиции может находится любой символ кроме конца абзаца. Примеры [0-9]^0032[A-Za-zА-яЁё] 1 символ строки поиска 2 символ 3 символ Любая цифра Пробел Любая буква (английская или русская) [0-9] ^0032 [A-Za-zА-яЁё] Допустимый символ определен тремя диапазонами и Пробел двумя конкретными символами.A-Z — английские В квадратных скобках (символ с прописные буквы;а-z — английские строчные указан диапазон знаков кодом буквы;А-я — русские прописные и строчные от 0 до 9, т. е. цифры. 0032). буквы;Ёё — прописная и строчная ё (чтобы охватить весь русский алфавит). Примеры <[А-ЯЁ][а-яё]@> 1 позиция строки поиска Любая русская прописная буква <[А-ЯЁ] В квадратных скобках указан диапазон знаков от А до Я и Ё (т. е. любая русская прописная буква).Знак «<»указывает на то, что прописная буква должна быть в начале слова. 2 позиция Спец. символ ы Ч то обозна чают ^p Симво л конца абзаца (¶) Любые русские строчные буквы [а-яё]@> ^? Любой симво л ^# Любая цифра ^$ Любая буква ^e Конце вая сноск а ^d Поле ^f Сноск а Диапазон в квадратных скобках определяет все русские строчные буквы.Знак «@» говорит о том, что число русских строчных букв может быть равным или больше нуля.Знак «>» указывает на конец слова. ^b Обрыв секци и(=== End of section === ) ^w Любое число и любая комби нация обыкн овенн ых и неразр ываем ых пробе лов, табул яций и концов абзаца Операции с вы ражениями Для работы с выражениями задействуйте опцию Use wildcards (Подстановочные знаки). В строке поиска выражением является все то, что заключено в круглые скобки. Выражение может состоять как из конкретных символов, так и содержать подстановочные знаки или специальные символы. Порядок следования выражений определяет их нумерацию. В строке замены выражения представляются в виде: \n, где n — номер выражения в строке поиска. Строка поиска Строка замены \3 \2\1 Спец. символ ы Ч то обозна чают ^p Симво л конца абзаца (¶) ^? Любой симво л ^# Любая цифра ^$ Любая буква ^e Конце вая сноск а ^d Поле ^f Сноск а ^b Обрыв секци и(=== End of section === ) \1\3 с хрустом \2 Результат поиска и замены грушу ест Сережа. Сережа грушу с хрустом ест . (Сережа )(ест )(грушу). \1и Катя едят \3 \1\2\3 и Катя \2\3 ^w Любое число и любая комби нация обыкн овенн ых и неразр ываем ых пробе лов, табул яций и концов абзаца Сережа и Катя едят грушу. Сережа ест грушу и Катя ест грушу. Примеры поиска и замены . Строка поиска ([!^0013]^0013)([!^0013]) (^0013){2;} ^0032{2;} ^0032([.,:;\!\?]) ([0-9])^0032([0-9]) Строка замены Спец. символ ы Ч то обозна чают ^p Симво л конца абзаца (¶) ^? Любой симво л ^# Любая цифра ^$ Любая буква ^e Конце вая сноск а ^d Поле ^f Сноск а ^b Обрыв секци и(=== End of section === ) \1^0013\2 \1 ^0009 \1 Результат поиска и замены Вставка пустой строки между теми абзацами, между которыми пустой строки не было. Удаление пустых строк Замена двух или более пробелов на табуляцию Удаление пробела перед знаком препинания (.,:;!?) Замена пробела между цифрами на неразбиваемый пробел \1^s\2 ([0-9])^0032([A-Za-zА-яЁё]) \1^s\2 ^w Любое число и любая комби нация обыкн овенн ых и неразр ываем ых пробе лов, табул яций и концов абзаца Замена пробела между цифрой и буквой (английской или русской) на неразбиваемый пробел -([0-9]) ^0150\1 Замена дефиса перед цифрой на минус \(([0-9])\) [\1] Замена круглых скобок вокруг цифры на квадратные Примеры . Строка поиска Ивано([а-я]@>) Строка замены Петро\1 Результат поиска и замены Спец. символ ы Ч то обозна чают ^p Симво л конца абзаца (¶) Замена фамилии Иванов на фамилию Петров сразу во всех падежах ^? Любой симво л ^# Любая цифра ^$ Любая буква ^e Конце вая сноск а В документе очень много десятичных дробей. Часть дробей набрана через точку, часть - через запятую. (<[0-9]@).([09]@>) \1,\2 ^d Поле ^f Сноск а ^b Обрыв секци и(=== End of section === ) Десятичная точка будет заменена на запятую ^w (<[0-9]@),([09]@>) \1.\2 Любое число и любая комби нация обыкн овенн ых и неразр ываем ых пробе лов, табул яций и концов абзаца Десятичная запятая будет заменена на точку
«Регулярные выражения» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Тебе могут подойти лекции

Смотреть все 462 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot