我有以下协议名称,例如 GR232 或 GR485,我希望将它们替换为表达式“GR”,后跟连字符和适当的三位数,例如 GR-232 或 GR-485。我尝试过使用 MS Word,但总是遇到相同的错误
查找内容:(<[a-zA-Z]>){2;} (<[0-9]>){2;}
替换为:(<[a-zA-Z]>)-(<[0-9]>)
到目前为止,我刚刚学习与微软正则表达式相关的所有内容,所以我想不出解决方案。我将感谢您的帮助!
我有以下协议名称,例如 GR232 或 GR485,我希望将它们替换为表达式“GR”,后跟连字符和适当的三位数,例如 GR-232 或 GR-485。我尝试过使用 MS Word,但总是遇到相同的错误
查找内容:(<[a-zA-Z]>){2;} (<[0-9]>){2;}
替换为:(<[a-zA-Z]>)-(<[0-9]>)
到目前为止,我刚刚学习与微软正则表达式相关的所有内容,所以我想不出解决方案。我将感谢您的帮助!
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