用於替換 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]>)

到目前為止,我剛剛學習與微軟正規表示式相關的所有內容,所以我想不出解決方案。我將感謝您的幫助!

答案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

相關內容