做邮轮的网站,做网站用采集,做动画在线观看网站,中国建设工程招投网站vba正则表达式的说明
项目说明Pattern在这里写正则表达式#xff0c;例#xff1a;[\d]{2,4}IgnoreCase大小写区分#xff0c;默认false#xff1a;区分#xff1b;true#xff1a;不区分Globaltrue#xff1a;全体检索#xff1b;false#xff1a;最小匹配Test类似p…vba正则表达式的说明
项目说明Pattern在这里写正则表达式例[\d]{2,4}IgnoreCase大小写区分默认false区分true不区分Globaltrue全体检索false最小匹配Test类似perl正则前的m匹配项目Replace类似perl正则前的s替换项目Execute类似java的matcher然后能取出里边的group1group2group3或者perl里匹配的各个括号的值
※正则表达式怎么写这里不做说明我是做perl的时候看了那本骆驼书然后顿悟的以前特别怕写正则现在还挺喜欢写的特别是用正则解决了问题后
2.Test的用法
Sub test()Dim RE As StringDim patt As StringSet RE CreateObject(VBScript.RegExp)pattern [0-9]{2,4}With RE.pattern patt.IgnoreCase True.Global TrueIf .test(word1234aa) ThenDebug.Print 11111ElseDebug.Print 22222End IfIf .test(word4aa) ThenDebug.Print 33333ElseDebug.Print 44444End IfEnd WithSet RE Nothing
End Sub
执行结果 原因没有引正则的包 很遗憾macos vba无法使用正则因为没有正则的引用 但是上边我写的正则匹配应该是没问题的
3.Replace的用法
Sub test()Dim RE As StringSet RE CreateObject(VBScript.RegExp)With RE.pattern [0-9]{2,4}.IgnoreCase False.Global TrueEnd WithDim str As String, ret As Stringstr I love you 123ret RE.Replace(str, zy)Debug.Print retSet RE Nothing输出结果I love you zy
End Sub
4.Execute的用法
Sub test()Dim RE, patt As String, pmatchSet RE CreateObject(VBScript.RegExp)patt I love ([\d]) and ([\d])With RE.pattern patt.IgnoreCase True.Global TrueSet pmatch .Execute(I love 123 and 456)If pmatch.Count 0 ThenDebug.Print pmatch(0) pmatch(1)End IfEnd WithSet pmatch NothingSet RE Nothing
End Sub