word统配符和正则表达式的区别
1、word使用通配符查找替换的方法为按快捷键Ctrl+H。
点击更多,就能看到通配符的选项。
2、如要查找数字,则只需输入[0-9]{1,},如下查找123和456.
3、通配符的基本用法和正则表达式比较相似。但是缺少^和$符号的使用。而且比正则表达式的功能要少。但有一部分相似之处。
如[0-9]表示数字范围,[a-z]表示小写字母范围,后面{1,3}表示1-3位。
但是不支持[0-9]+这样的正则表达式的写法。
4、通配符下的查找是和word的格式、样式等紧密连接的。使用通配符能实现非常强大的替换功能。如可以批量修改字体、段落格式等。批量在查找的字词前加字、批量删除空行等。
如批量删除空行可以这样:查找^13^13,替换为^p
1、word中正则表达式的使用必须要在vba下使用。除非用vba开发个插件。弹出对话框直接输入正则表达式。使用方法为,先按快捷键Alt+F11,出现VBE窗口,然后输入下面代码:
Sub 正则表达式替换()
Dim re As Object, ma As Object, m As Object
Set re = CreateObject("vbscript.regexp")
re.Global = 1
re.MultiLine = 1
re.Pattern = "\d+"
ActiveDocument.Range.Text = re.Replace(ActiveDocument.Range.Text, "")
End Sub
作用就是将所有的数字都替换为空。
按F5运行后,瞬间数字123和456被干掉。
2、上面就是创建VB的正则表达式对象。 re.Pattern = "\d+",这里的\d+就是正则表达式的标准写法了。如\d表示数字,+表达1到多个的意思。
可参考正则表达式30分钟。
3、正则表达式可以在office任何一个产品中使用。而通配符只能在word中使用。使用正则表达式可以处理字符串,而通配符只能依赖于word的运行环境本身。二者是不同的。正则表达式需要会写代码才能使用。
总之,结合vba,可以实现非常强大的功能。