Найти и заменить с помощью регулярного выражения в Microsoft Word 2013
Я редактирую документ электронной книги с большим количеством ненужной разметки. У меня есть ряд разделов в тексте с кодом, подобным этому:
<i>Some text here</i>
Я пытаюсь запустить поиск и замену регулярного выражения, которое найдет любую фразу между двумя i-тегами, удалит i-теги и применит стиль к тексту.
Вот что я использую для поиска:
Find: (<i>)(*)(</i>)
Replace: \2
Я также выбираю Styles > я (для курсива). Это говорит нашему конверсионному программному обеспечению применять курсив к тексту. Если я оставлю i-теги, то в результате процесс преобразования ScribeNet преобразует их в шестнадцатеричные значения, чтобы они отображались как буквальный текст в электронной книге. Грязное.
Когда я запускаю этот поиск, я не получаю никаких результатов. У меня есть "использование подстановочных знаков". Что мне не хватает? Согласно веб-сайту справки Microsoft, * используется для представления любого числа или типа символов, а отдельные строки должны быть заключены в круглые скобки.
Ответы
Ответ 1
Для поиска символа, который определяется как подстановочный знак, поместите обратную косую черту (\
) перед этим символом. Сама строка *
соответствует любой строке символов, поэтому используйте квантификатор диапазона для соответствия (1
или больше раз)
Find: \<i\>(*{1,})\</i\>
Replace: \1
Ответ 2
Найдите \<i\>(*{1,})\</i\>
и замените на \1
. Не забудьте проверить Use wildcard
.
Здесь есть справочная таблица для "регулярных выражений" Word: http://office.microsoft.com/en-ca/word-help/find-and-replace-text-by-using-regular-expressions-advanced-HA102350661.aspx
-
<
и >
являются специальными символами, которые должны быть экранированы
-
*
означает любой символ
-
{1,}
означает один или несколько раз