
我有以下協定名稱,例如 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