|
|
我要匹配作为题号的数字,该怎样写表达式?
模拟效果是:3,5,6,11,14,15,23,24,33,49,51。一共11个。
下面是word中的文本
吴思源全册词语汇总错题更错集
[87分/错105个]
3.zuì(醉)春烟
5.sī tāo(丝绦)
6.cái(裁)出
11.xiū(羞)怯
14.tàn(探)索
15.nèn(嫩)芽
23.guǒ(裹)着
24.jì(寄)信
33.xuàn(绚)丽
49.zī xún(咨询)
51.guǎn lǐ(管理)
下面是代码:
Sub 测试()
Dim Sec As Section, reg As Object, Bool As Boolean
asr = ActiveDocument.Content.Text
Set reg = CreateObject("vbscript.regexp")
reg.Global = True
reg.Pattern = "\d+(?![分个])" ' "\d+[^分个]"
For Each mt In reg.Execute(asr)
Nb = Nb + 1
Next
MsgBox Nb
End Sub
匹配的结果是:13个,应该是11个。
因为它还匹配了“87分”之前的“8”和“105个”之前的“10”,这两个不是我要匹配的。
换成,Pattern = "\d{2,}(?![分个])",又少配了题号为个位数的。
换成,Pattern = "\d+\.",也不对,又该怎样写呢?
|
|