找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 45462|回复: 10

[原创] 15分钟学会vbs中的正则表达式

[复制链接]
发表于 2011-2-25 15:52:39 | 显示全部楼层 |阅读模式
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
  4.   
复制代码
最后把上面的和在一起就得到一个完整的程序如下:
  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
复制代码

[ 本帖最后由 myzam 于 2011-2-26 22:20 编辑 ]
 楼主| 发表于 2011-2-25 15:58:56 | 显示全部楼层

打错了一个属性名

是ignorecase 不是,想修订但没发修订了。
 楼主| 发表于 2011-2-26 22:09:03 | 显示全部楼层

批处理学习

学了代码总会忘
学会查阅才是方法,
以下是我原来学习批处理的代码,现在回过头去看,有的都看不懂了。
人们说批处理冷落了不用学了,其实是不对的。
编程的思想,在批处理中可以得到很好的训练。
还有批处理的确方便。比如说wmic,wbemtest,都要用到dos。
批处理微软还会继续的支持下去。
我记得有一次我上班要用word编辑文档,别人在玩QQgame,
说,等一会让我,但我又很急。
于是,过后我用批处理编了过程,见qq只让它运行3分钟然后就杀掉。
他们都不明白是怎么回事,这就叫吃技术的亏。
更可恶的是,可以利用wmic让电脑关机蓝屏,看起来就是病毒。
wimc process if handlecount  !=0   call terminte
handlecount  就是句柄,
!=0什么意思,dos里面的 <.>0 或 neq 0就是这个意思。好玩。

凡是电脑的管理都可以通过wmic完成。我贴过一篇微软的wimc自动编程代码,
一个很好的材料。这是地此http://www.bathome.net/thread-11178-1-1.html


这是我学习bat时的笔记,http://www.bathome.net/thread-3577-1-11.html

下面是我写的vbs正则表达式学习用的小程序

http://www.bathome.net/thread-11223-1-1.html

[ 本帖最后由 myzam 于 2011-2-26 22:38 编辑 ]
发表于 2011-6-1 19:34:13 | 显示全部楼层
21天学会C++
发表于 2012-2-22 21:23:42 | 显示全部楼层
回复 4# Demon

呵呵  是这个么(图片外链)?
   
发表于 2012-7-14 11:11:04 | 显示全部楼层
我用了一个月学的正则表达式,用了半年多时间去消化理解的正则表达式,你竟然用15分钟就学会了
难道我真的笨的无可救药了吗?
发表于 2012-7-17 10:47:12 | 显示全部楼层
看下。。看下。。看下。。看下。。
发表于 2013-4-9 10:58:20 | 显示全部楼层
除非有N多案例,一行行解释的,那样也许真能快速学会,15分钟真的是不太现实吧。
发表于 2013-11-24 10:54:01 | 显示全部楼层
谢谢myzam!!!
发表于 2016-9-30 21:17:50 | 显示全部楼层
您的脚本存在下列错误,将不能正常运行:

语法错误:脚本 我的脚本2 ,第5行,第4个字符:(错误码0)没有找到合法的符号。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:05 , Processed in 0.021649 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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