Регулярные выражения для замены текстовых строк в документе MS Word

Регулярные выражения для замены текстовых строк в документе MS Word

У меня есть следующие имена протоколов, например GR232 или GR485, и я хочу заменить их выражением "GR", за которым следует дефис и соответствующее трехзначное число, что-то вроде GR-232 или GR-485. Я пробовал с MS Word, но всегда получаю одну и ту же ошибку

Найти что: (<[a-zA-Z]>){2;} (<[0-9]>){2;}

Заменить на: (<[a-zA-Z]>)-(<[0-9]>)

Пока я только изучаю все, что связано с регулярными выражениями Microsoft, поэтому не могу придумать решение. Буду признателен за помощь!

решение1

Регулярное выражение MS Word не является истинным регулярным выражением. Если вам нужно настоящее регулярное выражение в MS Word, VBA — это то, что вам нужно. Хорошее место, чтобы узнать, как использовать подстановочные знаки MS Word:Поиск и замена символов с использованием подстановочных знаков.

То, о чем вы просили, можно сделать в MS Word. Однако есть несколько проблем с вашим регулярным выражением:

  • ;: недопустимо внутри фигурных скобок при попытке найти минимум/максимум символов. ,необходимо использовать.
  • Захваченное выражение заменяется на \1, \2, и т.д., а не на регулярное выражение (<[a-zA-Z]>)или что-то еще.

Попробуйте следующее:

  • Найти то, что:<([a-zA-Z]{2,})([0-9]{2,})>
  • Заменить:\1-\2
  • ВыбиратьUse wildcards
  • НажиматьReplace All

Связанный контент