MS Word 文書内のテキスト文字列を置換する正規表現

MS Word 文書内のテキスト文字列を置換する正規表現

GR232 や GR485 のようなプロトコル名があり、これを「GR」の後にハイフンと適切な 3 桁の数字 (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

関連情報