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

У Word есть мощные возможности поиска, которые позволяют искать вам текст, числа, форматы, параграфы, разрывы страниц, использовать подстановочные символы, коды полей и многое другое. Используя подстановочные символы, вы можете искать просто всё что угодно в вашем документе. Поскольку функция поиска совмещена с заменой, то вы можете также выполнять весьма замысловатые преобразования текста.

Прежде чем мы приступим, поясню пару терминов, которые могут быть не совсем понятными для вас.

Регулярное выражение — это условное обозначение критериев, которым должна соответствовать искомая строка. С помощью регулярных выражений можно найти множество строк или слов, соответствующих заданным условиям.

Подстановочные символы (wildcards) — это * (звёздочка), . (точка) и ? (знак вопроса), которые имеют в регулярных выражениях специальное значение. Например, символ * (звёздочка) обозначает любое количество любых символов, а ? (знак вопроса) означает любой один символ.

Давайте начнём знакомство с продвинутыми возможностями поиска в Word!

Как использовать подстановочные символы в продвинутом поиске

В ленте Word переключитесь на вкладку «Главная» и нажмите кнопку «Заменить»:

В окне «Найти и заменить» кликните «Больше >>», чтобы развернуть диалоговое окно и увидеть дополнительные опции. Если вы увидели кнопку «<< Меньше», значит всё прошло удачно.

В раскрывшемся окне для показа опций поиска, включите флажок «Подстановочные знаки».

Обратите внимание, что после того, как вы включили опцию «Подстановочные знаки», Word сразу под полем «Найти:» показывает, что эта опция включена. Также когда выбран флажок «Подстановочные знаки», некоторые опции становятся недоступными для включения, а именно: «Учитывать регистр», «Только слово целиком», «Учитывать префикс», «Учитывать суффикс».

Теперь нажмите кнопку «Специальный» для просмотра списка подстановочных знаков.

В Word доступны следующие подстановочные символы:

Символ Значение
? Любой знак
[-] Символ в диапазоне
< В начале слова
> В конце слова
() Выражение — единая последовательность символов. Также применяется для обратных ссылок
[!] Не
{;} Число вхождений
@ Предыдущий 1 или более
* Любое число знаков
^t Знак табуляции
^^ Знак крышки
^n Знак столбца
^+ Длинное тире
^= Короткое тире
^g Графический объект
^l Разрыв строки
^m Разрыв страницы / раздела
^~ Неразрывный дефис
^s Неразрывный пробел
^- Мягкий перенос

Наконец выберите подстановочный символ для вставки в ваши критерии поиска. После выбора подстановочного знака, символ добавляется в строку поиска. Когда запомните значения, вы также можете использовать клавиатуру для ввода символов вместо вставки их путём выбора из списка. Меню «Специальный» работает как справка в случае если вы не помните, какие доступны специальные символы и их значения.

Готовые увидеть как работают подстановочные символы? Давайте ознакомимся с конкретными примерами использования регулярных выражений и подстановочных символов в Word.

Для чего используются подстановочные символы?

В меню «Специальный» содержит много специальных символов, которые вы можете использовать для поиска по документу Word, но на самом деле не все они являются подстановочными символами. Большинство из них нужны для поиска каких-то специфичных и, иногда, скрытых символов Word, таких как пробелы, разного вида тире, разрывы страницы.

Здесь мы заострим внимание в первую очередь на подстановочных знаках, которые означают один или более символов текста или модифицируют поиск на основе другого символа в вашем поиске.

Использование звёздочки для указания любого количества символов

Скорее всего, самым часто используемым подстановочным символом для вас станет звёздочка. Она означает, что вы хотите найти любое количество символов. Например, чтобы найти все слова, начинающиеся с «отм», напечатайте «отм*» в строке поиска и затем кликните кнопку «Найти далее». Наше регулярное выражение означает любое количество букв (* звёздочка), следующих после «отм».

В качестве альтернативы ввода символа звёздочки с клавиатуры, вы можете использовать выбор специального символа из списка подстановочных знаком. Вначале наберите «отм» в строке «Найти». Поставьте галочку «Подстановочные знаки». Затем кликните кнопку «Специальный» и выберите «Любое число символов». После этого нажмите кнопку «Найти далее»:

Word оценивает поиск и показывает вам первое вхождение, которое он найдёт в документе. Продолжайте кликать «Найти далее», чтобы найти все части текста, которые соответствуют вашему поисковому термину.

Вы должны помнить важную вещь: при включении подстановочных знаков, поиск автоматически становится чувствительным к регистру (такова особенность регулярных выражений, частью которых являются подстановочные символы). Поэтому поиск «отм*» и «Отм*» даст различные результаты.

Использование знака вопроса для поиска определённого количества символов

В то время как звёздочка означает любое количество символов, знак вопроса в регулярном выражении означает единичный (один) символ. Например, если «отм*» будет искать строки начинающиеся с «отм» за которыми идёт любое количество символов, то «отм?» будет искать строки, начинающиеся с «отм», за которой идёт только один символ.

Как и звёздочку, знак вопроса можно использовать в любой части слова — в том числе в начале и в середине.

Также можно использовать вместе несколько знаков вопроса вместе, тогда они будут обозначать несколько букв.

Например, регулярное выражение для поиска «о?о?о» оно означает букву «о», за которой идёт любой символ, затем снова идёт буква «о», затем опять любой символ и затем опять буква «о» найдёт следующие слова:

  • потоков
  • многополосных
  • многополосных
  • которое
  • правового
  • такового
  • такого основания

Можно найти слова с четырьмя буквами «о», шаблон «о?о?о?о»:

  • которого
  • многополосных

Или с тремя буквами «а», шаблон «а?а?а»:

  • наказания
  • задача
  • аппарата
  • высказана
  • началах

Необязательно использовать одинаковые буквы — составляйте выражения под ваши задачи.

Например, чтобы найти слова, в которых первая буква «з», затем идёт любой другой символ, а затем буква «к» и вновь любой символ, шаблон для поиска «з?к?» найдёт:

  • закономерности
  • законодательно

Использование знака собачка (@) и фигурных скобок ({ and}) для поиска вхождений предыдущего символа

Вы можете использовать знак собачка (@) для указания одного или более вхождения предыдущего символа. Например, «ro@t» найдёт все слова, которые начинаются на «ro» и заканчиваются на «t» и которые имеют любое количество букв «o» между этими частями. Поэтому по этим условиям поиска будут найдены слова «rot», «root» и даже «roooooot».

Для большего контроля поиска предыдущих символов, вы можете использовать фигурные скобки, внутри которые укажите точное число вхождений предыдущего символа, который вы хотите найти. Например, поиск «ro{2}t» найдёт «root», но не найдёт «rot» или «roooooot».

Также поддерживает синтаксис вида {n;} — означает искать количество вхождений символа более n раз; {;m} — означает искать количество вхождений символа менее m раз; {n;m} — означает искать количество вхождений символа более n раз, но менее m раз.

Чтобы показать более практический пример, немного забежим вперёд, следующий поиск использует набор символов (будут рассмотрены в этой статье чуть ниже), в результате, будут найдены все слова, в которых подряд идут четыре согласных буквы:

[бвгджзйклмнпрстфхцчшщ]{4}

Использование угловых скобок (< и >) для обозначения начала и конца слова

Думаю, вы заметили, особенно когда составляли поисковые запросы со звёздочкой, что пробел считается за обычный символ и могут быть найдены довольно неожиданные фрагменты большого размера, либо фрагменты, состоящие из двух слов. Вы можете использовать угловые скобки (символы «больше чем» и «меньше чем») для обозначения начала и конца слова поиска. Например, вы можете искать «<но>» и Word найдёт все вхождения «но», но не найдёт слова вроде «новости», «законодатель».

Это довольно полезно, но эта техника становится более мощной, когда вы комбинируете её с другими подстановочными символами. Например, с помощью «<з????>» вы можете найти все слова, которые начинаются на «з» и состоят ровно из пяти букв.

Вам необязательно использовать обе угловые скобки в паре. Вы можете обозначить просто только начало или конец слова, используя только одну соответствующую скобку. Например «ство>» найдёт слова

  • руководство
  • множество
  • средство
  • количество

Использование квадратных скобок ([ и ]) для поиска определённых символов или диапазонов символов

Вы можете использовать квадратные скобки для указания любых символов или диапазонов символов. Например «[а]» будет искать любые вхождения буквы «а».

В следующем примере, будет искаться строка, которая начинается на «р», затем идёт любая гласная, а затем снова буква «р»: «р[аеиоуэюя]р»

Далее аналогичный пример, но между буквами «р» должно быть две любых гласных: «р[аеиоуэюя]{2}р», будет найдено, к примеру, слово «приоритет».

Вы также можете искать квадратные скобки для поиска диапазонов символов, например «[a-z]» найдёт любую из этих букв в нижнем регистре. Поиск «[0-9]» найдёт любую из этих цифр.

Пример р[а-и]{2}р найдёт строку, которая начинается и заканчивается на букву «р» между которыми две любые буквы из указанного диапазона.

Следующий пример довольно сложный, но при этом и довольно интересный:

[А-Я]{1}[а-я0-9 ,-]{1;}.

В начале строки должна стоят любая заглавная буква ([А-Я]) ровно один раз ({1}). Затем должны идти маленькие буквы, цифры, пробелы, запятые и тире ([а-я0-9 ,-]) хотя бы один раз и более ({1;}), в самом конце должна стоять точка (.)

Думаю вы догадались, что это регулярное выражение которое будет искать предложения. Перечислены не все возможные символы, поэтому не будут найдены предложения, содержащие кавычки и некоторые другие символы, а также вопросительные и восклицательные предложения.

То есть вы можете комбинировать подстановочные символы и дополнять их кванторами количества, а затем это всё комбинировать любое количество раз, пока не получите желаемый результат. На самом деле, это довольно сложно — почти как программирование, поскольку требует абстрактного мышления.

Использование скобок для группировки поисковых терминов в последовательности

Вы можете использовать круглые скобки в вашем поиске для группировки последовательностей символов.

Можно использовать довольно простые шаблоны, например «(го){3;}» найдёт строки, в которых «го» встречается три и более раза подряд.

Но настоящую силу эта конструкция покажет при использовании в операциях поиска и замены.

Показанная далее техника называется «обратные ссылки». Начнём с конкретного примера, чтобы было проще понять. Предположим, нам нужно во всём документе поменять местами два слова, допустим, имя и фамилию. К примеру, во всём тексте множество раз упоминается «Милосердов Алексей», а нам нужно, чтобы было «Алексей Милосердов».

Для этого в строке поиска мы вставляем «(Милосердов) (Алексей)», а в строке «Заменить на» пишем «2 1».

Скобки не участвуют в поиске, то есть в результате будет искаться фраза «Милосердов Алексей» При этом то, что было найдено в первых скобках, будет присвоено как значение «1», а то, что было найдено во вторых скобках, станет значением «2». При этом найденная строка заменится на «Алексей Милосердов».

Можно сделать по-другому, допустим вместо фамилии и имени, я хочу заменить на фамилию и инициалы, тогда в строке поиска я ищу «(Милосердов) (Алексей)», а в строке «Заменить на» пишу «1 А.В.».

В скобках можно писать не только слова, там могут использоваться подстановочные символы в разных сочетаниях, а также кванторы количества. Когда находится целая фраза, то Word автоматически пронумеровывает эти группы слева направо (это происходит «под капотом» — мы это не видим), поэтому в поле «Заменить на» мы можем использовать эти группы по их номеру, перед которым нужно поставить обратный слэш.

Рассмотрим более жизненный пример. Допустим, у нас по всему документу имеются даты вида 31.12.2019 (то есть в формате день.месяц.год), а мы хотим чтобы все эти даты были в формате 2019.12.31 (то есть год.месяц.день).

Тогда для поиска любых дат составляем регулярное выражение с подстановочными символами:

«[0-9]{2}.[0-9]{2}.[0-9]{4}»

«[0-9]» — это диапазон, обозначающий все цифры, «{2}» — это квантор количества, который говорит, что предыдущий символ должен встречаться ровно два раза. То есть будет искаться строка длиной ровно два символа, состоящая из цифр. Затем идёт точка, затем снова аналогичная строка и точка, и в конце строка из четырёх цифр.

Строка подходит для поиска, но чтобы были созданы обратные ссылки, мы заключаем нужные нам элементы в круглые скобки: «([0-9]{2}).([0-9]{2}).([0-9]{4})» — она будет работать точно также, как и предыдущая.

Теперь составляем строку «Заменить на». В начале идёт год, то есть третья группа, она обозначается как «3», затем точка, затем вторая группа, затем опять точка и затем первая группа, получаем «3.2.1».

Используйте обратный слэш () если вам нужно искать символы, которые являются подстановочными знаками

А что если вам нужно найти в документе символ, который используется как подстановочный? Например, если вам нужно найти звёздочку? Если просто её вставите, то она сработает как подстановочный знак и будет найдено всё что угодно. Есть два способа искать символы в их буквальном значении.

Первый способ, это снять галочку с опции «Подстановочные знаки» перед выполнением поиска. Но если вы не хотите это делать, вы можете использовать обратный слэш () перед этим символом. Например, чтобы найти буквальный знак вопроса при включённых «Подстановочных знаках», введите в поле Поиск «?».

Заключение

Вы можете делать весьма сложные поиски и замены комбинируя подстановочные символы в ваших поисках в Word, поэтому продолжайте пробовать с ними. После того, как вы действительно разберётесь, какой потенциал несут регулярные выражения, вы сможете увеличить вашу продуктивность. Нам только следует порекомендовать вам не делать большие операции поиска и замены одновременно для всего документа, если у вас нет полной уверенности что ваши подстановочные символы делают именно то, что вы задумали. Также рекомендуется для этого использовать тестовые копии документов.

Связанные статьи:

  • Как в Microsoft Word сделать массовую замену или удаление текста (74%)
  • Как убрать лишние пробелы в Microsoft Word (74%)
  • Как выделить текст цветом в Word (66.3%)
  • Как вставить музыкальный символ, ноты в Word (57.7%)
  • Как напечатать диапазон страниц документа Word из нескольких разделов (57.7%)
  • Как заблокировать текстовые поля в Word (RANDOM — 50%)

Транскрипция содержимого страницы

Если ваш браузер не отображает страницу правильно, пожалуйста, читайте содержимое страницы ниже

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

Регулярные выражения MS-Word
      Регулярные выражения(англ. regular expressions)— это формальный язык поиска и
осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов.
По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»),
состоящая из символов и метасимволов и задающая правило поиска.

                                                                                    (Википедия)

      Т.е. регулярным выражением задается шаблон, по которому происходит поиск в документе.
Например, нужно найти только пятизначное число, значение которого заранее неизвестно, либо найти
время, которое задано форматом ЧЧ:ММ (ЧЧ – часы: 00, 01, 02, … 23; ММ – минуты: 00, 01, 02, …).
Регулярные выражения позволяют искать последовательности символов, которые имеют
определенный формат, но не имеют заранее известного значения.

Как включить регулярные выражения в MS-word?

      Для того чтобы MS-WORD воспринимал регулярные выражения нужно поставить отметку
«Постановочные знаки». После чего в полях «Найти» и «Заменить на» служебные символы
регулярных выражений будут восприниматься как подстановочные знаки, а не как символы, которые
нужно найти.

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

Как подсказку можно использовать список символов, который находится в выпадающем списке
«Специальный».

Краткое введение
?и*
      Два самых основных подстановочных знака это «?» и «*». «?» используется для представления
      одного любого символа, а «*» для представления любого количества любых символов.
      S?t должно найти “Set”,” Sat”, “Sit”, и т.д.
      S*t должно найти слова: “Secret”, “Serpent”, “Sailing boat”.

@
      Указывает, что предыдущий символ должен встретиться один или более раз. Sel@ найдет Sell,
      Selll и т.дю
Указывают на начало и конец слов. Например,  найдет “Serpent” и “Sailing boat”, но НЕ
      “Sailing boats”(т.к. в boats еще есть s, которая является окончанием слова)

[]
      В таких скобках перечисляются символы, которые могут стоять на данной позиции на позиции.
      [asd] означает, что на данной позиции может стоять один из символов. Например, S[aeo]x
      найдет слова Sax, Sex, Sox.
      К данным скобкам можно добавить символ @(повторение символа один или более раз).
      Например, если написать S[aeo]@x , то также найдем слова Saex, Soex, Saox(слова смысла не
      имеют и используются только для примера).
      Можно не перечислять все символы, а задать их интервалом.
      [A-Z] означает, любой заглавный символ английского алфавита.
      [0-9] – любая цифра.
      [A-z] – любая заглавная или строчная буква английского алфавита.
      [0-9A-z] – любая буква английского алфавита или цифра.


      Символ экранирования.
      Экранирование символов— замена в тексте управляющих символов на соответствующие текстовые
      подстановки.(Википедия).
      Если нам нужно найти символ «?», то просто так вписать мы его не можем, т.к. он воспримется
      как «любой символ», такая же ситуация будит и с «*», «@», «» и т.д.
      Для того чтобы нам найти в тексте символ, который является служебным в регулярных
      выражениях нужно перед этим символом поставить знак экранирования «»
      Например, S[aeo?]x - найдет Sax, S?x, Sox и тд.
      Этот символ нужно использовать перед символами, если их нужно найти в тексте – () []  - @
      ?!*.

[!]
      ! используется как НЕ, и относится ко всем скобкам. [!o] означает любой символ кроме «o». [!A-
      Z] – любой символ кроме заглавных букв.

{}
      Указывает на количество повторений предыдущего символа(такой смысл как и у “@”)

      {n} – символ должен повториться n раз.
      A{3} должно найти AAA.
      [asd]{2} должно найти: aa, as, ad, sd, da,sa,ds и т.д.

      {n;m} – символ должен повторится от n до m раз.
      D{3;6} – символ D может повторяться от 3 до 6 раз

      {n;} – символ может повторяться от n раз и больше.

()
      Эти скобки никак не влияют на поиск. Они используются для группирования результатов
      поиска. Например, нам нужно найти текст «ббб ааа» и эти два слова поменять местами. Для
      этого мы в найти пишем (ббб) (ааа) , в данном варианте скобки являются служебними
      символами и не ищутся в тексте. Если в тексте будит найден результат, то мы можем
обратиться к каждой скобке, написав «2 1» в строке замены мы поменяем местами слова(1 –
      это первая скобка 2 – вторая и т.д. ).

^
      Используется для обозначения непечатаемых символов. Например, ^13 обозначает конец
      строки(если не стоит отметка «Подстановочные знаки», то этот символ обозначат ^p). Если
      отмечено «Подстановочные знаки», то в строке поиска нужно ставить ^13, но в строку
      «заменить на» нужно писать ^p.

Таблицы служебных знаков
     В Microsoft Word существуют два типа специальных знаков — специальные символы и
     подстановочные знаки. Те и другие удобно вводить в строки поиска и замены используя
     кнопку Special (Специальный) в диалоге поиска и замены.

     Специальными символами называют символы, которых нет на клавиатуре и/или которые
     невозможно непосредственно вписать в строку поиска или замены. Например: принудительный
     обрыв строки, мягкий перенос, неразрывный пробел и т. п.

     Если в диалоге поиска и замены задействована опция Подстановочные знаки, то
     становится возможным формировать сложные условия поиска. Для этого используются
     подстановочные знаки. С их помощью можно задавать диапазоны символов и выражения,
     отвечающие ряду условий.

     Некоторые символы и знаки можно использовать только в строке поиска, некоторые — только в
     строке замены. Возможность использования других зависит от того, задействована или нет
     опция Подстановочные знаки.

     Ниже приведен полный список символов и знаков.

     А еще ниже — примеры их использования.

    СТРОКА ПОИСКА

     Специальные символы, которые можно использовать только в том случае, если опция Use
     wildcards (Подстановочные знаки) не задействована(т.е. отметка «Постановочные
     знаки не стоит»).

     Спец. Символы   Что обозначают

     ^p              Paragraph mark (¶)              Символ конца абзаца (¶)

     ^?              Any character                   Любой символ

     ^#              Any digit                       Любая цифра
^$            Any letter                Любая буква

^e            Endnote mark              Концевая сноска

^d            Field                     Поле

^f            Footnote mark             Сноска

^b            Section break             Обрыв секции
              (===End of section===)    (===End of section===)

^w            Whitespace                Любое число и любая комбинация
                                        обыкновенных и неразрываемых пробелов,
                                        табуляций и концов абзаца

Специальные символы, использование которых не зависит от опции Use wildcards
(Подстановочные знаки).

Спец.     Что обозначают
символы

^t        Tab character ()            Символ табуляции ()

^a        Comment mark                 Комментарий

^0nnn     ANSI or ASCII characters     Любой ANSI или ASCII символ с кодом nnn

^^        Caret character              Символ ^

^g        Graphic                      Графика

^n         Column break                 Обрыв колонки
          (···Column Break···)         (···Column Break···)

^l        Manual line break ()        Принудительный обрыв строки ()

^m         Manual page break           Принудительный обрыв страницы (---Page
          (---Page Break---)           Break---). Если опция Use wildcards
                                       задействована, то ищет и принудительный
                                       обрыв страницы, и обрыв секции.

^+        Em dash (—)                  Длинное тире (—). Символ с кодом 0151.

^=        En dash (–)                  Короткое тире (–). Символ с кодом 0150.

^s        Nonbreaking space (°)        Неразрываемый пробел (°)

^~        Nonbreaking hypen (-)        Неразрываемый дефис (-)
^-          Optional hypen (¬)                      Мягкий перенос (¬)

Подстановочные знаки, которые можно использовать только в том случае, если опция Use wildcards
(Подстановочные знаки) задействована(т.е. стоит отметка «Постановочные знаки»).

Спец.      Что обозначают                              Пример        Что будет находить
знаки                                                  строки
                                                       поиска

?          Один любой символ                           б ?к          бак, бок, бук, б5к, б¶к и
                                                                     т. п.

*          Любое число любых символов                  б* к          бык, бардак, белый.¶
                                                                     Полковник и т. п.

[]         Один из указанных символов                  б[аоу]к       бак, бок, бук

[-]        Один символ из диапазона.                   [а-яё]        Любая строчная русская
           Диапазон должен быть указан в порядке                     буква
           возрастания кодов символов.
                                                       [А-ЯЁ]        Любая прописная русская
                                                                     буква

                                                       [0-9]         Любая цифра

[!]        Один любой символ не указанный после        б[!ы]к        бак, бок и т. п., но не бык
           восклицательного знака

[!x-z]     Один любой символ, не входящий в            [!а-яё]ок     Бок, Док и т. п., но
           диапазон указанный после                                  не бок, док
           восклицательного знака

                                                       [!0-9]        Любой символ кроме цифр

{n}        Строго n штук предыдущего символа или      10{3}          1000, но не 100, 10000
           выражения.
           Выражением является все то, что заключено
                                                      10(20){2}      102020, но
           в круглые скобки. Выражение может
                                                                     не 1020, 10202020
           состоять как из конкретных символов, так и
           содержать спец. знаки.

{n;}       n и более штук предыдущего символа или      10{3;}        1000, 10000, 100000 и
           выражения                                                 т. д., но не 100

{n;m}      От n до m штук предыдущего символа или      10{3;4}       1000, 10000, но
           выражения                                                 не 100, 100000

@          Ноль или более штук предыдущего символа     10@           10, 100, 1000, 10000 и т. д.
           или выражения
<             Начало слова                                               Конец слова                                   бок>            колобок, но не боксер

С Т Р О К А З АМ Е Н Ы

  Специальные символы, использование которых не зависит от опции Use wildcards
  (Подстановочные знаки).

  Спец. символы          Что обозначают

  ^p                     Paragraph mark (¶)                  Символ конца абзаца (¶)

  ^t                     Tab character ()                   Символ табуляции ()

  ^0nnn                  ANSI or ASCII characters            Любой ANSI или ASCII символ с кодом nnn

  ^^                     Caret character                     Символ ^

  ^c                     Clipboard contents                  Содержимое буфера обмена

  ^&                     Contents of the Find what box       Содержимое строки поиска (или то, что
                                                             найдено)

  ^n                     Column break                        Обрыв колонки
                         (···Column Break···)                (···Column Break···)

  ^l                     Manual line break ()               Принудительный обрыв строки ()

  ^m                     Manual page break                   Принудительный обрыв страницы
                         (---Page Break---)                  (---Page Break---)

  ^+                     Em dash (—)                         Длинное тире (—). Символ с кодом 0151.

  ^=                     En dash (–)                         Короткое тире (–). Символ с кодом 0150.

  ^s                     Nonbreaking space (°)               Неразрываемый пробел (°)

  ^~                     Nonbreaking hypen (-)               Неразрываемый дефис (-)

  ^-                     Optional hypen (¬)                  Мягкий перенос (¬)

  Подстановочные         знаки,    которые       можно   использовать    только     в   том   случае,   если
  опция Use wildcards (Подстановочные знаки) задействована.

  Знаки         Что обозначают
n            Expression n                        Выражение номер n из строки поиска

Еще одна таблица

ЧТОБЫ НАЙТИ                                 ВВЕДИТЕ     ПРИМЕР
Один символ                                 ?           Выражение "к?т" позволяет найти слова "кот"
                                                        и "кит".
Любую последовательность символов           *           Выражение "в*д" позволяет найти слова
                                                        "вход" и "выход".
Начало слова                                <           Выражение "" позволяет найти слова
                                                        "ель" и "шрапнель", но не слово "ельник".
Один из указанных символов                  []          Выражение "кр[еа]н" позволяет найти слова
                                                        "крен" и "кран".
Любой символ из указанного диапазона        [-]         Выражение "[з-ф]абор" позволяет найти слова
                                                        "забор" и "табор". Диапазон должен быть
                                                        указан в порядке возрастания.
Любой символ, кроме символов, которые       [!э-я]      Выражение "к[!е-р]а" позволяет найти слова
находятся в диапазоне, указанном в                      "кода" и "коса", но не слова "кожа" и "кора".
скобках
Предыдущий символ или выражение,            {n}         Выражение "жарен{2}ый" позволяет найти
повторенные n раз                                       слово "жаренный", но не слово "жареный".
Предыдущий символ или выражение,            {n,}        Выражение "жарен{1,}ый" позволяет найти
повторенные не менее n раз.                             слова "жареный" и "жаренный".
Предыдущий символ или выражение,            {n,m}       Выражение "10{1,3}" позволяет найти числа
повторенные от nдо m раз                                10, 100 и 1000.
Предыдущий символ или выражение,            @           Выражение "больше@" позволяет найти слова
повторенные не менее одного раза                        "больше" и "большее".

Примеры
     Опция Use wildcards (Подстановочные знаки) должна быть задействована в диалоге
     поиска и замены. Это условие должно соблюдаться для всех приведенных ниже примеров.

     ПРИМЕРЫ ПОИСКА

     Строка поиска                Что будет находить

     [!^0013]^0013[!^0013]        Одиночный конец абзаца в окружении двух неконцов. (Подробный разбор
                                  см. ниже).

     ^0013{2;}                    Два и более конца абзацев
^0032{2;}                   Два и более пробела

[.,:;!?]                  Знак препинания ( . , : ; ! ? )

[0-9]^0032[0-9]             Две цифры, разделенные пробелом

[0-9]^0032[A-Za-zА-яЁё]     Цифра и буква (английская или русская) разделенные пробелом.
                            (Подробный разбор см. ниже).

-[0-9]                      Дефис и цифра

             Два целых числа, разделенные дефисом

([0-9])                   Цифра в круглых скобках

                    Целое число (точнее — непрерывная последовательность цифр)

             Десятичная дробь, набранная через запятую

                 Английское слово

                  Русское слово

             Русское слово, набранное строчными буквами, но с прописной.
                            (Подробный разбор см. ниже).

ПОДРОБНЫЙ РАЗ БОР НЕСК ОЛЬКИ Х СТРОК ПОИСКА

[!^0013]^0013[!^0013]

1 символ строки поиска               2 символ                       3 символ

Любой символ, но не конец абзаца     Конец абзаца                   Любой символ, но не конец абзаца

[!^0013]                             ^0013                          [!^0013]

В квадратных скобках указан символ   Конец абзаца (символ с         В квадратных скобках указан
с кодом 0013 (конец абзаца). Знак    кодом 0013).                   символ с кодом 0013 (конец
«!» указывает на то, что в этой                                     абзаца).
позиции может находится любой                                       Знак «!» указывает на то, что в
символ кроме конца абзаца.                                          этой позиции может находится
                                                                    любой символ кроме конца абзаца.

[0-9]^0032[A-Za-zА-яЁё]

1 символ строки поиска             2 символ                   3 символ

Любая цифра                        Пробел                     Любая буква (английская или русская)
[0-9]                                ^0032                  [A-Za-zА-яЁё]

В квадратных скобках указан          Пробел (символ с кодом Допустимый символ определен тремя
диапазон знаков от 0 до 9, т. е.     0032).                 диапазонами и двумя конкретными
цифры.                                                      символами.
                                                            A-Z — английские прописные буквы;
                                                            а-z — английские строчные буквы;
                                                            А-я — русские прописные и строчные
                                                            буквы;
                                                            Ёё — прописная и строчная ё (чтобы
                                                            охватить весь русский алфавит).

1 позиция строки поиска                      2 позиция

Любая русская прописная буква                Любые русские строчные буквы

В квадратных скобках указан диапазон         Диапазон в квадратных скобках определяет все русские
знаков от А до Я и Ё (т. е. любая русская    строчные буквы.
прописная буква).                            Знак «@» говорит о том, что число русских строчных букв
Знак «» указывает на конец слова.

ОБ ОПЕРАЦИЯ Х С ВЫР АЖЕ НИЯМИ

Для работы с выражениями задействуйте опцию Use wildcards (Подстановочные знаки).

В строке поиска выражением является все то, что заключено в круглые скобки (которые в этом случае
выступают в роли специальный знаков). Выражение может состоять как из конкретных символов, так и
содержать подстановочные знаки или специальные символы. Порядок следования выражений
определяет их нумерацию.

В строке замены выражения представляются в виде: n, где n — номер выражения в строке поиска.

ПРОСТОЙ П РИ МЕР, П ОЯСНЯ ЮЩИЙ Р АБОТУ С ВЫР АЖЕНИ ЯМИ

Будем редактировать предложение: Сережа ест грушу.

Строка поиска              Строка замены           Результат поиска и замены

(Сережа )(ест )(грушу).    3 21                 грушу ест Сережа.

                           13 с хрустом 2       Сережа грушу с хрустом ест .

                           1и Катя едят 3        Сережа и Катя едят грушу.

                           123 и Катя 23      Сережа ест грушу и Катя ест грушу.
ПРИМЕРЫ П ОИ СКА И З АМЕ НЫ

Строка поиска                   Строка       Результат поиска и замены
                                замены

([!^0013]^0013)([!^0013])       1^00132    Вставка пустой строки между теми абзацами, между
                                             которыми пустой строки не было.

(^0013){2;}                     1           Удаление пустых строк

^0032{2;}                       ^0009        Замена двух или более пробелов на табуляцию

^0032([.,:;!?])               1           Удаление пробела перед знаком препинания ( . , : ; ! ? )

([0-9])^0032([0-9])             1^s2       Замена пробела между цифрами на неразбиваемый пробел

([0-9])^0032([A-Za-zА-яЁё])     1^s2       Замена пробела между цифрой и буквой (английской или
                                             русской) на неразбиваемый пробел

-([0-9])                        ^01501      Замена дефиса перед цифрой на минус

(([0-9]))                     [1]         Замена круглых скобок вокруг цифры на квадратные

И ЕЩЕ ДВА ПРИМЕРА

Пример 1

Замена в документе фамилии Иванов на фамилию Петров сразу во всех падежах:

Строка поиска       Строка замены Результат поиска и замены

Ивано([а-я]@>)      Петро1            Замена фамилии Иванов на фамилию Петров сразу во всех
                                       падежах

Конечно, такая замена возможна только с фамилиями, у которых одинаковые падежные окончания.

Пример 2

В документе очень много десятичных дробей. Часть дробей набрана через точку, часть — через запятую.

Требуется произвести такую замену, чтобы сделать написание всех дробей единообразным.

Вот два варианта этой замены:

Строка поиска                    Строка замены Результат поиска и замены

()              1,2            Десятичная точка будет заменена
                                                  на запятую

()              1.2            Десятичная запятая будет заменена
на точку

Полезные ссылки
  1. http://office.microsoft.com/ru-ru/word-help/HA102350661.aspx#_Toc286834987
  2. http://artefact.lib.ru/design/text_khozyainov.shtml
  3. http://word.mvps.org/FAQs/General/UsingWildcards.htm (англ.яз.)

Как заменить «Фамилия И.О.» на «И.О.Фамилия» одним нажатием по всему документу?

заменить «Фамилия И.О.» на «И.О.Фамилия»

Как использовать?
Для использования регулярных выражений необходимо, находясь в окне текстового редактора
1) нажать Ctr+F
регулярные выражения word поиск
2) перейти на вкладку «Заменить»
Screenshot at 2017-07-30 02-16-15
3) нажать клавишу «Больше>>>»
Вкладка "Больше" выражения
4) отметить флаг «Подстановочные знаки»заменить «Фамилия И.О.» на «И.О.Фамилия»

Как использовать?
Допустим, у Вас есть много документов в тексте которых упомянуты «Фамилия И.О.» очень много раз. Например, это может быть список класса или учебник к которому вышли новые правила оформления. Можно сидеть и исправлять вручную, тогда это займет очень очень много времени + возможность допусить человеческие ошибки (опечататься).
Возникает задача заменить «Фамилия И.О.» на «И.О.Фамилия».
Зачем это?
В поле найти написать: ([A-Я]{1;1}[a-я]{2;11}) ([A-Я]{1;1}) ([A-Я]{1;1})
Заменить на:  2.3.^s1
() — можно выводить несколько разных значений
[] — диапозон букв
! — кроме, например [!А-Я] – все кроме заглавных
{x, y} – применять действие с символа x до символа y
2 – берём вторые скобки, то есть Имя со второго ставим на первое место
точка в поле «Заменить на» служит для склеивания
Альтернативы?
Кстати в «LibreOffice Writer» тоже есть регулярные выражения. В отличие от Майкрософта, которые обозвали своё творение «wildcards», создатели свободного редактора написали ясно и понятно «Regular expressions».
регулярные выражения libreoffice

P.S. Посмотреть информацию о регулярных выражениях вы можете только в интернете, так как справка у обоих редакторах онлайновая:(
А какие регулярные выражения используюте Вы?)

Есть почти книга в Word, где часть текста оформлена жирным, курсивным начертанием, подчёркиванием, в общем, всё, как надо. Нужно для всего форматированного текста сделать соответствующие HTML-теги, чтобы потом использовать текст в вебе.

Сохранение, страницы как HTML даёт желаемый результат, но там вылезает множество всякой приблуды, которую нужно вычищать, в общем, всё не слава Богу.

Короче, пришёл я к статье о регулярных выражениях в функции «Найти и Заменить», написал конструкцию, только ищет она отдельные слова, а не словосочетания. Скрин прилагается:
hPrNx6bwoLg.jpg

В общем, поскольку изучить VBA пока что выглядит не тривиальной задачей, возникает вопрос: как вычислить форматированный текст (отдельными словами и словосочетаниям, с любыми знаками до и после) и обрамить его HTML-тегами. Если регулярка — то направление, то какова должна быть её конструкция?

Что я примерно ожидаю в итоге:
Lorem ipsum dolor <b>sit amet, eu</b> eirmod offendit eos, te <i>wisi</i> voluptua vel.

Майкрософт почему­то свои регулярки на называет “wildcards”

Примеры

Поиск

Описание Найти
Найти все русские буквы в документе [А‐ЯЁа‐яё]
Найти все русские аббревиатуры, длиной от 2 до 8 символов <[А‐ЯЁ]{2;8}>
Найти все, что в фигурных скобках {*}
Найти все ссылки на нормативные документы вида “{некоторый текст}” {[a‐zA‐Z0‐9‐.]@}
Найти все даты в документе [0‐3][0‐9][‐./][0‐1][0‐9][‐./][0‐9]{2;4}
Поиск всех разрывов страниц, переносов строки.т.д. [^11^12^13]
Поиск KKS­-кода систем (FH1 специфична) <[A‐CF‐NPQSX][A‐HJ‐NP‐Z][A‐HJ‐Z]
Поиск ККS-кода арматуры (FH1 специфична) <[A‐CJ‐NPQSX][A‐HJ‐NP‐Z][A‐HJ‐Z][0‐9,//(/)]@AA[0‐9,//(/)]{1;20}
Поиск ККS­кодов оборудования с кодом отказа для ВАБ (FH1 специфична) <[A‐Z]{3}[0‐9,//(/)]@[A‐Z]{2}[0‐9,//(/)]@[A‐GI‐MP‐TVW][A‐Z][A‐FH‐MO‐Y]>
Поиск кодов функций вида ­”AC3b_31D” (FH1 специфична) <[A‐Z][A‐Z][0‐9][a‐z]_[0‐9][0‐9A‐Z]{1;2}>
Поиск вида: [1], [10­15], [3,4,9] [[0‐9‐, ]{1;12}]
Найти все шифры документов (FH1 специфична) <FH1.*.[ER]>

Замена

Описание Найти Заменить на
Заменить в десятичных числах запятую на точку ([!,]<[0‐9]@),([0‐9Ee]@>) 1.2
Удалить пустые строки (^0013){2;} 1
Удалить подряд идущие пробелы ^0032{2;} ^0032
Замена двух или более пробелов на табуляцию ^0032{2;} ^0009
Удалить пробел перед знаком препинания (.,:;!? итд) ^0032([.,:;!?]) 1
Замена пробела между цифрой и буквой (английской или русской) на не разбиваемый пробел ([0‐9])^0032([A‐Za‐zА‐яЁё]) 1^s2
Замена дефиса перед цифрой на минус ‐([0‐9]) ^01501
Замена круглых скобок вокруг 1­ой цифры на квадратные (([0‐9])) [1]
Замена пробела между цифрами на не разбиваемый пробел ([0‐9])^0032([0‐9]) 1^s2
Удалить фигурные скобки вокруг “{A}” {([A‐Z])} 1
Заменить “4.5.4.1” на “7.5.4.1”. Проводит замену первой цифры ([!*])4. 17.

Понравилась статья? Поделить с друзьями:
  • Word реальный размер страницы
  • Word расширенный поиск по умолчанию
  • Word расширение таблицы под текст
  • Word расширение для браузера
  • Word расширение odt чем открыть