Регулярное выражение, чтобы найти начало абзаца в Word
Я использую Word 2016, и мне нужно удалить некоторые абзацы, начиная или заканчивая известными словами. Например, в следующем тексте:
¶
Lorem Ipsum Dolor Sit Amet, Concetetur Adipiscing Elit.¶
Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, ¶
Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea.¶
Lorem Ipsum Dolor Sit Amet, Concetetur Adipiscing Elit. Ut enim ad minim veniam, ...¶
Параграфы, начинающиеся с заданного слова / строки, работают должным образом (исключите 1-й и 4-й абзацы):
Найти то, что: "Lorem ipsum dolor *^13"
| Заменить: ""
| Джокер: On
Абзацы, заканчивающиеся заданным словом / строкой, не работают (удалите второй абзац). Пытался:
"^13* magna aliqua,^13"
^10 = CR - удаляет все слева, включая предыдущие абзацы"^10*magna aliqua,^13"
^10 = НЧ - без изменений
Я также попробовал несколько интересных примеров на этом сайте http://word.mvps.org/faqs/general/usingwildcards.htm, но не нашел решения.
Есть ли способ сделать это без VBA?
0 ответов
"^13* magna aliqua,^13"
^10 = CR - удаляет все слева, включая предыдущие абзацы
Это понятно, потому что *
соответствует любым символам, включая CR, поэтому совпадающая часть простирается от первого найденного CR над любыми абзацами, расположенными между ними, до конца, заканчивающегося на magna aliqua,
,
Чтобы не совпадать с другими окончаниями абзаца, мы должны использовать что-то кроме *
:
[!^13]@ magna aliqua,^13
[!^13]
означает "любой символ, кроме CR", @
означает "один или несколько случаев этого".
Чтобы удалить все абзацы, начинающиеся с 'Lorem', в соответствии с вашим примером, вы можете использовать подстановочный знак Find/Replace, где:
Find = ^13Lorem[!^13]{1,}
Replace = nothing
Чтобы удалить все абзацы, заканчивающиеся на "magna aliqua", в соответствии с вашим примером, вы можете использовать подстановочный знак " Найти / Заменить", где:
Find = [!^13]@magna aliqua,^13
Replace = nothing
Вы не можете объединить их в один Find/Replace, который находит either
- только один, который найдет оба.