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

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

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 编辑 ]

打错了一个属性名

是ignorecase 不是,想修订但没发修订了。

TOP

批处理学习

学了代码总会忘
学会查阅才是方法,
以下是我原来学习批处理的代码,现在回过头去看,有的都看不懂了。
人们说批处理冷落了不用学了,其实是不对的。
编程的思想,在批处理中可以得到很好的训练。
还有批处理的确方便。比如说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 编辑 ]

TOP

21天学会C++

TOP

回复 4# Demon

呵呵  是这个么(图片外链)?
   

TOP

我用了一个月学的正则表达式,用了半年多时间去消化理解的正则表达式,你竟然用15分钟就学会了
难道我真的笨的无可救药了吗?

TOP

看下。。看下。。看下。。看下。。

TOP

除非有N多案例,一行行解释的,那样也许真能快速学会,15分钟真的是不太现实吧。

TOP

谢谢myzam!!!

TOP

您的脚本存在下列错误,将不能正常运行:

语法错误:脚本 我的脚本2 ,第5行,第4个字符:(错误码0)没有找到合法的符号。

TOP

返回列表