1. 通配符方式。
比如要替换掉所有的以//DEL开头的行
//DEL*^13{1}
替换为什么也不输入
([^11^13]){1} 匹配一个换段符(^13,在文档里面是直接键入ENTER得到)或者一个段内换行符(^11,在文档里面键入SHIFT+ENTER得到)。方括号的意思是匹配方括号里面这个集合中的任意字符。“{n}”表示匹配n次,所以“{1}”就是匹配1次了。至于那个圆括号,和上面提到的圆括号的功能相同,同样我觉得这里使用是多余的。
javascript默认为贪婪匹配的。JAVA正则的最小匹配需要在后面加个?号。Word文档中的通配符是按非贪婪模式匹配的。
2. Vba编程方式。
程序1:
Sub test()
Selection.HomeKey wdStory
With Selection.Find
.ClearFormatting
' 本示例在搜索选定内容之前从查找条件中取消格式限定。
Do While .Execute(findtext:="DEL//")
.Parent.Bookmarks("\Line").Range.Delete ' 代表文档中的一个连续区域。每个 Range 对象由一个起始字符位置和一个终止字符位置定义。
Loop
End With
End Sub
程序2
Sub kill()
For i = 1 To 500
Selection.Find.Execute findtext:="DEL//", Forward:=True, Wrap:=wdFindContinue ‘如果提示符不是从文首开始查找,当查找到了文尾的是后是否继续从文首查找到提示符开始的'位置,wdfindstop。
If Selection.Find.Found = True Then
Selection.HomeKey
Selection.EndKey Extend:=True
Selection.Delete
End If
Next i
End Sub