我需要你的帮助来找到最后一场比赛。不幸的是,我的模式不能按我的需要工作。我需要找到由两个字符“{{”、一个或多个数字、可能是字母(但也可能不是)和两个字符“}}”组成的一组字符的最后一个匹配项。 + 这些字符必须加下划线并加粗。例如:{{000015}} 或 {{000026WRR}}。然而,我的模式版本必然会搜索字母。搜索也会循环。
` myDocument.Range.Find.ClearFormatting
With myDocument.Range
With .Find
.Text = "\{{2}[0-9]{1,}[A-z]*\}{2}"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.Font.Bold = True
.Font.Underline = True
.MatchCase = True
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
.Execute
End With
Do While .Find.Found
myStr = .Text
.Collapse wdCollapseEnd
.Find.Execute
Loop
结束
MsgBox myStr`
要获取文档中的最后一个匹配项,请将
.Forward = True
更改为 .Forward = False
这将从文档末尾开始查找,因此第一个匹配项将是最后一个匹配项。