欢迎来到天天文库
浏览记录
ID:37913730
大小:130.00 KB
页数:17页
时间:2019-06-02
《VBScript-RegExp对象的详细用法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VBScript-RegExp对象的详细用法分类:VBScript&JScript2009-12-1414:554765人阅读评论(2)收藏举报RegExp对象是VBScript中用于提供简单的正则表达式支持的对象。VBScript中所有和正则表达式有关的属性和方法都与这个对象有关联。DimreSetre=NewRegExp这个对象有三个属性和三个方法,如表9-1所示。表9-1属 性Global属性IgnoreCase属性Pattern属性方 法Execute方法Replace方法
2、Test方法接下来的几节会深入地介绍这些属性和方法。此外还会介绍您将在模式中用到的正则表达式符号。1 Global属性Global属性负责设置或返回一个Boolean值,指明模式是匹配整个字符串中所有与之相符的地方还是只匹配第一次出现的地方(参见表9-2)。表9-2代码object.Global[=value]对象RegExp对象值有两个可能的值:True和False 如果Global属性的值是True,那就会对整个字符串进行查找;否则就不会。默认值是False——并不是微软的某些文档中说的Tru
3、e下面的例子利用Global属性确保所有的"in"都会被修改。Dimre,sSetre=NewRegExpre.Pattern="/bin"re.Global=Trues="TheraininSpainfallsmainlyontheplains."MsgBoxre.Replace(s,"inthecountryof")2 IgnoreCase属性IgnoreCase属性负责设置或返回一个Boolean值,指明模式匹配是否大小写敏感(参见表9-3)。表9-3代码object.IgnoreCase[
4、=value]对象RegExp对象值有两个可能的值:True和False 如果IgnoreCase属性的值为False,搜索为大小写敏感;如果是True,则不是。默认是False——并不是微软的某些文档中说的True继续看这个例子,之前看过了Global属性;如果要匹配的字符串中有“In”,就必须告诉VBScript在进行匹配时要忽略大小写。Dimre,sSetre=NewRegExpre.Pattern="/bin"re.Global=Truere.IgnoreCase=Trues="Thera
5、inInSpainfallsmainlyontheplains."MsgBoxre.Replace(s,"inthecountryof")3 Pattern属性Pattern属性设置或返回用于搜索的正则表达式(参见表9-4)。前面所有的例子都用到了Pattern。Dimre,sSetre=NewRegExpre.Pattern="/bin"re.Global=Trues="TherainInSpainfallsmainlyontheplains."MsgBoxre.Replace(s,"inthe
6、countryof")表9-4代码object.Pattern[="searchstring"]对象RegExp对象搜索字符串需要搜索的正则字符串表达式。可能含有一些正则表达式字符——可选的4 正则表达式字符正则表达式的强大并不是来自于用字符串做模式,而是在模式中使用特殊字符。表9-5列出了所有的这些字符,以及每个字符在代码中的作用。大写特殊字符的作用与相应的小写特殊字符的作用相反。表9-5字 符描 述/表示下一个字符是特殊字符或文字常量^匹配输入的开头$匹配输入的结尾*匹配前一个字符零次
7、或多次+匹配前一个字符一次或多次?匹配前一个字符零次或一次.匹配除换行符以外的任何单个字符(pattern)匹配并记住这个模式。可以用[0]…[n]从结果的matches集合中获取匹配到的字符串。要匹配括号本身,在前面加上斜杠——用"/("或"/)"(?:pattern)匹配但不捕获模式,也就是不会存储匹配结果供以后使用。这可以用于使用"or"字符(
8、)合并模式的不同部分。例如,"anomal(?:y
9、ies)"比"anomaly
10、anomalies"要划算得多(?=pattern)当所要搜索的字
11、符串匹配了模式的开头部分时就接着匹配这一部分。这是一个非捕获匹配,也就是说不会保存匹配结果供以后使用。例如,"Windows(?=95
12、98
13、NT
14、2000
15、XP
16、Vista)"能匹配"WindowsVista"中的Windows而不能匹配"Windows3.1"中的Windows(?!pattern)与上一个相反,这会匹配模式中没有出现的内容。这是一个非捕获匹配,也就是说不会保存匹配结果供以后使用。例如,"Windows(?=95
17、98
18、NT
19、2000
20、XP
21、Vista)"能匹配
此文档下载收益归作者所有