VBS与正则表达式

    对经常需要用到文本数据查找、字符串比较匹配从而判断结果的时候就需要使用正则表达式。正则表达式提供了强大、灵活而又高效的方法来处理文本,利用正则表达式的全面模式匹配表达法,可以快速分析大量文本,从而找到特定的字符。在VBS中,使用RegExp对象来支持正则表达式的使用。RegExp提供了3个属性和3个方法,分别为:

  • 属性:Pattern、Global、IgnoreCase;
  • 方法:Test、Replace、Execute;

Ø  属性:

Pattern  该属性用于描述正则表达式的匹配模式,如用“+”来匹配前面的表达式一次或多次,用“.”来匹配除换行符\n以外的任何单字符。

Global  该属性用于设置搜索过程中是仅匹配第一个还是全部匹配,

          =True时为全部匹配,

          =False时则仅匹配一个;

IgnoreCase  该属性用于设置匹配字符串时是否区分大小写,

          =True时不区分,

          =False时区分大小写;

Ø  方法:

Test  该方法用于对指定的字符串执行一个正则表达式的搜索,返回一个布尔值,表示是否找到匹配的模式;

Replace  该方法用于替换在正则表达式中查找到的文本;

Execute  该方法用于对制定的字符串执行正则表达式的搜索。Execute方法返回一个matches 的集合,其中包含了在制定的字符串中找到的每一个匹配项。

 

 示例:

Function RegExpTest(patrn,strng)

Dim regEx,Match,Matches

Set regEx = New RegExp    ‘创建一个正则表达式

regEx.Pattern = patrn     ‘设置正则表达式的匹配模式

regEx.IgnoreCase  = True  ‘设置为不区分大小写

regEx.Global  = True      ‘设置为全局可用

Set Matches = regEx.Execute(strng)  ‘执行搜索

For  Each  Match  in  Matches  ‘遍历所有的匹配

RetStr = RetStr &”在”

RetStr = RetStr & Match.FirstIndex & “找到匹配项。匹配项的值为”

RetStr = RetStr & Match.value & “。”&vbCRLF

Next

RegExpTest = RetStr

‘如果正则表达式匹配成功,则替换匹配项的字符串

If RegEx.Test(Strng) = True Then

  MsgBox regEx.Peplace(strng,”ABC”)

End if

End Function

MsgBox(RegExpTest(“is.”,IS1 is2 IS3 is4))  ‘调用RegExpTest

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值