VB 正则表达式(RegExp)对象

VB 正则表达式(RegExp)对象

正则表达式(RegExp)对象
提供简单的正则表达式支持功能。

说明
下面的代码说明了RegExp对象的用法:

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  &   " Match found at position  "  
     RetStr  =  RetStr  &  Match.FirstIndex  &   " . Match Value is ' "  
     RetStr  =  RetStr  &  Match.Value  &   " '. "   &  vbCRLF 
   Next  
   RegExpTest  =  RetStr 
End Function  
MsgBox (RegExpTest( " is. " ,  " IS1 is2 IS3 is4 " ))

Global 属性
设置或返回一个 Boolean 值,该值指明在整个搜索字符串时模式是全部匹配还是只匹配第一个。

object.Global [= True | False ]

对象 参数总是 RegExp 对象。如果搜索应用于整个字符串,Global 属性的值为 True,否则其值为 False。默认的设置为 False。


IgnoreCase 属性
设置或返回一个Boolean值,指明模式搜索是否区分大小写。

object.IgnoreCase [= True | False ]

Object 参数总是一个 RegExp 对象。如果搜索是区分大小写的,则 IgnoreCase 属性为 False;否则为 True。缺省值为 False。


Pattern 属性

设置或返回被搜索的正则表达式模式。

object.Pattern [= "searchstring"]

参数

object

必选项。总是一个 RegExp 对象变量。

searchstring

可选项的。被搜索的正则字符串表达式。它可能包含设置部分表格中的各种正则表达式字符。


Execute 方法
对指定的字符串执行正则表达式搜索。

object.Execute(string)

参数
object

必选项。总是一个 RegExp 对象的名称。

string

必选项。要在其上执行正则表达式的文本字符串。

说明
正则表达式搜索的设计模式是通过 RegExp 对象的 Pattern 来设置的。

Execute 方法返回一个 Matches 集合,其中包含了在 string 中找到的每一个匹配的 Match 对象。如果未找到匹配,Execute 将返回空的 Matches 集合。


Replace 方法
替换在正则表达式查找中找到的文本。

object.Replace(string1, string2)

参数
object

必选项。总是一个 RegExp 对象的名称。

string1

必选项。string1 是将要进行文本替换的字符串。

string2

必选项。 string2 是替换文本字符串。

说明
被替换的文本的实际模式是通过 RegExp 对象的 Pattern 属性设置的。

Replace 方法返回 string1 的副本,其中的 RegExp.Pattern 文本已经被替换为 string2。如果没有找到匹配的文本,将返回原来的 string1 的副本。

下面的例子说明了 Replace 方法的用法。

Function  ReplaceTest(patrn, replStr) 
   Dim  regEx, str1                '  建立变量。  
   str1  =   " The quick brown fox jumped over the lazy dog. "  
   Set  regEx  =   New  RegExp                '  建立正则表达式。  
   regEx.Pattern  =  patrn                '  设置模式。  
   regEx.IgnoreCase  =   True                 '  设置是否区分大小写。  
   ReplaceTest  =  regEx.Replace(str1, replStr)          '  作替换。  
End  FunctionMsgBox(ReplaceTest( " fox " ,  " cat " ))             '  将 'fox' 替换为 'cat'。  
;另外, Replace  方法在模式中替换 subexpressions 。 下面对以前示例中函数的调用,替换了原字符串中的所有字对: 
 
MsgBox (ReplaceText( " (/S+)(/s+)(/S+) " ,  " $3$2$1 " ))          '  交换词对.

Test 方法
对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。

object.Test(string)

参数
object

必选项。总是一个 RegExp 对象的名称。

string

必选项。要执行正则表达式搜索的文本字符串。

说明
正则表达式搜索的实际模式是通过RegExp对象的Pattern属性来设置的。RegExp.Global属性对Test方法没有影响。

如果找到了匹配的模式,Test方法返回True;否则返回False。

下面的代码说明了Test 方法的用法。

 

Function  RegExpTest(patrn, strng) 
   Dim  regEx, retVal             '  建立变量。  
   Set  regEx  =   New  RegExp          '  建立正则表达式。  
   regEx.Pattern  =  patrn          '  设置模式。  
   regEx.IgnoreCase  =   False           '  设置是否区分大小写。  
   retVal  =  regEx.Test(strng)          '  执行搜索测试。  
   If  retVal  Then  
     RegExpTest  =   " 找到一个或多个匹配。 "  
   Else  
     RegExpTest  =   " 未找到匹配。 "  
   End   If  
End Function  
MsgBox (RegExpTest( " is. " ,  " IS1 is2 IS3 is4 " )) 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值