批处理之家's Archiver

myzam 发表于 2011-2-26 21:53

变生奥为浅显---vbs正则表达式练习小程序 原创

正则表达式看过去看过来,还是一个糊涂。
其实学习正则表达式最好的办法就是练习中学习。
dos里面的 findstr就是正则表达式搜索。vbs里也有。
下面的小程序就是vbs编写的学习软件。
只选用了正则表达式的全局属。什么是全局属下?你用了就知道了。
我在这里说是空谈。
还有在哪里看正则表达式的规则?dos的findstr /?  
我可以说,用了包你10分钟明白什么是正则表达式。
变生奥为浅显。
复制下面的代码,保存为regtest.vbs 就ok了。[code]
''''************正则表达式练习小程序 作者 myzam 2011-2-26*******
'''''特别说明:只能在cmd中运行,否则报错。
'''''运行语法:“cscript+脚本”。
'''''又注,vbs中\b,和dos中的\<,\>相当,表示一个单词
''''(如word,ath,中国,0852等)的起点和终点。
'''''这是全局设置的正则表达式,我用x作为替代了。
set oreg=new regexp

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

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

''''''''========================================
'''附测试题
'''' 字符串为: the  thecome  comethecome
'''' 模板为:the
'''''===========================================[/code]

[[i] 本帖最后由 myzam 于 2011-2-26 21:56 编辑 [/i]]

wc726842270 发表于 2011-3-13 10:50

是啊,个人认为正则就是一种匹配模式,但要想熟练掌握,可不容易啊

caish2007 发表于 2014-3-1 22:26

核心就是那几个公式,讲住了就差不多了。花一两天时间应该可以掌握,再多加练习,不是太难的。
正则表达是每个编程人员必备的技能。 一定要学好。

caish2007 发表于 2014-3-1 22:29

正则表达式,不同的程序会有一定的差别,主要是特殊符号之间的差别。但总的说是一通百通。dos,js,vbs,vba,c。
另外提一点不相关的,vba对正则表达式支持的不是很好,主要是不支持“>"符号。微软好像也没有想改进的意思。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.