标题: [问题求助] (已解决)VBS代码多个正则怎样合在一起? [打印本页]
作者: mick00034 时间: 2014-8-13 20:35 标题: (已解决)VBS代码多个正则怎样合在一起?
本帖最后由 mick00034 于 2014-8-16 19:00 编辑
re.Pattern = "1\d{10}"
re.Pattern = "83\d{6}"
re.Pattern = "61\d{5}"
这样分行的话只执行最后一行,我想三行都起作用,怎么写,谢谢!
作者: CrLf 时间: 2014-8-13 20:42
- re.Pattern = "1\d{10}|83\d{6}|61\d{5}"
复制代码
作者: mick00034 时间: 2014-8-13 23:28
回复 2# CrLf
问一下,这个 | 符号怎么打?谢谢
作者: CrLf 时间: 2014-8-13 23:40
回复 3# mick00034
就是回车上面那个键...
作者: mick00034 时间: 2014-8-13 23:51
本帖最后由 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 s
复制代码
如上述代码,可以提取手机号码和座机,只是座机前面要额外加,如027的话,有修改方法吗? 今天太晚了,希望您有时间的时候,看一下,,,,谢谢
作者: apang 时间: 2014-8-14 11:42
回复 5# mick00034
re.Pattern = "1\d{10}|(027\-)?83\d{6}"
可以匹配027-83123456,也可以匹配83123456
作者: mick00034 时间: 2014-8-15 18:33
本帖最后由 mick00034 于 2014-8-15 18:43 编辑
回复 6# apang
没成功,不知其原因是什么?,是否可以增加重复行过滤功能?麻烦您了,谢谢!
处理前:12345678900
83123456
12345678900
83123456
83123456
处理后:12345678900
02783123456
作者: apang 时间: 2014-8-15 18:50
回复 7# mick00034
稍微变通一下就可以了- 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)
- If Left(m, 2) = "83" Then m = "027" & m
- If InStr(s, m) = 0 Then s = s & m & vbCrLf
- Next
- WScript.Echo s
复制代码
作者: mick00034 时间: 2014-8-16 09:36
本帖最后由 mick00034 于 2014-8-16 09:39 编辑
回复 8# apang
测试了一下,重复行过滤都挺成功,只是也会把无效数字行的一部分当成是号码提出来,这个有点麻烦,举个例子
处理前:
83123456
2014831777888999(此为无效数字行)
处理后:
83123456
83177788
还有一点问一下,apang老师,代码要求1.txt必须是Unicode,一般新建文本文档格式默认是ANSI格式,每次都要先改格式另存挺麻烦,要把代码针对ANSI格式的1.txt的话,代码要全部从新写,还是改动一部分代码就行?谢谢。
作者: apang 时间: 2014-8-16 13:03
回复 9# mick00034
重新开贴,给出样本,说清要求
作者: mick00034 时间: 2014-8-16 18:58
回复 10# apang
谢谢您,上面的代码够用了,另有其他问题,再请教您。!!!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |