[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[已解决]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 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

试试:
  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来实现,会更简洁...

TOP

多多感谢管理员的支持

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

TOP

返回列表