返回列表 发帖

[问题求助] (已解决)VBS代码多个正则怎样合在一起?

本帖最后由 mick00034 于 2014-8-16 19:00 编辑

re.Pattern = "1\d{10}"
re.Pattern = "83\d{6}"
re.Pattern = "61\d{5}"

这样分行的话只执行最后一行,我想三行都起作用,怎么写,谢谢!

回复 2# CrLf


    问一下,这个 | 符号怎么打?谢谢

TOP

本帖最后由 mick00034 于 2014-8-13 23:58 编辑

回复 4# CrLf
Set fso = CreateObject("Scripting.FileSystemObject")
txt = fso.OpenTextFile("1.txt",1,false,-1).ReadAll
Set re = New RegExp
re.Pattern = "1\d{10}|83\d{6}"
re.IgnoreCase = True
re.Global = True
For Each m in re.Execute(txt)
    s = s & m & vbCrLf
Next
fso.OpenTextFile("2.txt",2,true).Write sCOPY
如上述代码,可以提取手机号码和座机,只是座机前面要额外加,如027的话,有修改方法吗? 今天太晚了,希望您有时间的时候,看一下,,,,谢谢

TOP

本帖最后由 mick00034 于 2014-8-15 18:43 编辑

回复 6# apang

没成功,不知其原因是什么?,是否可以增加重复行过滤功能?麻烦您了,谢谢!
处理前:12345678900
             83123456
             12345678900
             83123456
             83123456


处理后:12345678900
            02783123456

TOP

本帖最后由 mick00034 于 2014-8-16 09:39 编辑

回复 8# apang

测试了一下,重复行过滤都挺成功,只是也会把无效数字行的一部分当成是号码提出来,这个有点麻烦,举个例子
处理前:
83123456
2014831777888999(此为无效数字行)
处理后:
83123456
83177788

还有一点问一下,apang老师,代码要求1.txt必须是Unicode,一般新建文本文档格式默认是ANSI格式,每次都要先改格式另存挺麻烦,要把代码针对ANSI格式的1.txt的话,代码要全部从新写,还是改动一部分代码就行?谢谢。

TOP

回复 10# apang


    谢谢您,上面的代码够用了,另有其他问题,再请教您。!!!

TOP

返回列表