
У меня есть следующие имена протоколов, например 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