• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    15分钟学会vbscript中的正则表达式

    发布者: 琛瑞6678 | 发布时间: 2025-8-14 02:53| 查看数: 35| 评论数: 0|帖子模式

    vbs中的正则表达式
    假定要搜索的字符串是 str="hello world Hello World"
    1--规则基本与dos中的findstr类似。有细微的差别。如果对规则有困惑的,可以在cmd中看看findstr的说明就可以了。
    2--如何使用?
    a--创建类RegExp
    set reg=new RegExp

    b--类的属性
    reg.pattern---用正则表达式建立搜索模板
    如: reg.pattern="hello"
    reg.global=true ---确定是在str中取代全部,还是只取代第一个匹配项。
    reg.replace(str,"x")---把str中的hello用x取代
    reg.ignorecase=true---表示不区分大小写
    c--类的方法
    set matches=reg.execute(str)---方法execute创建由匹配项组成的集合对象。
    要访问这个集合对象就要用语句for each ...next
    该集合里面的每一个对象有两个属性
    属性1 firstindex属性,
    属性2 value属性
    如:
    1. for each i in matches
    2.   wscript.echo i.firstindex,i.value
    3. next
    复制代码
    最后把上面的和在一起就得到一个完整的程序如下:
    1. set reg=new regexp
    2. str="hello world Hello World"
    3. reg.pattern="hello"
    4. reg.ignorecase=true
    5. reg.global=true
    6. set matches=reg.execute(str)
    7. regstr=reg.replace(str,"x")
    8. wscript.echo regstr
    9. for each i in matches
    10. wscript.echo i.firstindex,i.value '‘'‘'value可以不要 ,直接写成 i
    11. next
    12. ''''for语句也可以用下面的代码
    13. ''''for i =0 to matches.count-1
    14. '''''' wscript.echo i ,matches(i)
    15. '''next
    复制代码
    正则表达式看过去看过来,还是一个糊涂。
    其实学习正则表达式最好的办法就是练习中学习。
    dos里面的 findstr就是正则表达式搜索。vbs里也有。
    下面的小程序就是vbs编写的学习软件。
    只选用了正则表达式的全局属。什么是全局属下?你用了就知道了。
    我在这里说是空谈。
    还有在哪里看正则表达式的规则?dos的findstr /?
    我可以说,用了包你10分钟明白什么是正则表达式。
    变生奥为浅显。
    复制下面的代码,保存为regtest.vbs 就ok了。
    1. ''''************正则表达式练习小程序 作者 myzam 2011-2-26*******
    2. '''''特别说明:只能在cmd中运行,否则报错。
    3. '''''运行语法:“cscript+脚本”。
    4. '''''又注,vbs中\b,和dos中的\<,\>相当,表示一个单词
    5. ''''(如word,ath,中国,0852等)的起点和终点。
    6. '''''这是全局设置的正则表达式,我用x作为替代了。
    7. set oreg=new regexp

    8. wscript.echo "请输入字符串:"
    9. str=wscript.stdin.readline

    10. wscript.echo "请输入正则表达式:"
    11. oreg.pattern=wscript.stdin.readline
    12. oreg.global=true '这里设置的是全局属性
    13. set matches=oreg.execute(str)
    14. wscript.echo oreg.replace(str,"x")
    15. for matche=o to matches.count-1
    16. wscript.echo "index= "&matche,"-------value= "&matches(matche)
    17. next

    18. ''''''''========================================
    19. '''附测试题
    20. '''' 字符串为: the thecome comethecome
    21. '''' 模板为:the
    22. '''''===========================================
    复制代码
    这篇文章就介绍到这,希望大家以后多多脚本之家。

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表