Board logo

标题: [已解决]VBS正则表达式提取 [打印本页]

作者: lxl13596    时间: 2009-4-18 04:13     标题: [已解决]VBS正则表达式提取

1.txt中的内容为
dsaf="ftp://abc.dsfds.html"
sdfsdafs[论坛禁用语言]sdff
fsdafs
dsadf="ftp://abc.dsfds.html"

我想提取出每行中ftp://至.html之间的字符,可以遍历整个1.txt,
我使了readline,但每当其中任意一行不同时含用ftp://和.html就会出错
请高手教下我,正则好难呀,
十分感谢!

[ 本帖最后由 lxl13596 于 2009-4-18 14:37 编辑 ]
作者: youxi01    时间: 2009-4-18 09:10

试试:
  1. Function RegExpTest(patrn, strng)
  2.    Dim regEx, Match, Matches   ' 建立变量。
  3.    Set regEx = New RegExp   ' 建立正则表达式。
  4.    regEx.Pattern = patrn   ' 设置模式。
  5.    regEx.IgnoreCase = True   ' 设置是否区分大小写。
  6.    regEx.Global = True   ' 设置全程可用性。
  7.    Set Matches = regEx.Execute(strng)   ' 执行搜索。
  8.    For Each Match in Matches      ' 遍历 Matches 集合。
  9.       vStr=mid(Match.value,7,Len(Match.value)-11)
  10.       RetStr = RetStr & vStr & vbcrlf
  11.    Next
  12.    RegExpTest = RetStr
  13.    set regEx=nothing
  14. End Function
  15. set FSO=Wscript.CreateObject("Scripting.FileSystemObject")
  16. set F=FSO.opentextfile("1.txt",1)
  17. txt=f.readall
  18. MsgBox(RegExpTest("ftp://.*\.html", txt))
  19. set FSO=nothing
复制代码
当然,这里的正则结果是用匹配集合实现,也可以用replace来实现,会更简洁...
作者: lxl13596    时间: 2009-4-18 14:36     标题: 多多感谢管理员的支持

谢谢!愿咱们论坛越来越强大!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2