vb.net转义符 vb转义字符(12)


匹配搜索的结果是存放在Match对象中,提供了对正则表达式匹配的只读属性的访问 。Match 对象只能通过 RegExp 对象的 Execute 方法来创建,该方法实际上返回了 Match 对象的集合 。所有的 Match 对象属性都是只读的 。在执行正则表达式时,可能产生零个或多个 Match 对象 。每个 Match 对象提供了被正则表达式搜索找到的字符串的访问、字符串的长度,以及找到匹配的索引位置等 。
○FirstIndex 属性,返回在搜索字符串中匹配的位置 。FirstIndex 属性使用从零起算的偏移量,该偏移量是相对于搜索字符串的起始位置而言的 。换言之,字符串中的第一个字符被标识为字符 0
○Length 属性 , 返回在字符串搜索中找到的匹配的长度 。
○Value 属性,返回在一个搜索字符串中找到的匹配的值或文本 。
3、Matches 集合
正则表达式 Match 对象的集合 。Matches 集合中包含若干独立的 Match 对象,只能使用 RegExp 对象的 Execute 方法来创建之 。与独立的 Match 对象属性相同,Matches `集合的一个属性是只读的 。在执行正则表达式时,可能产生零个或多个 Match 对象 。每个 Match 对象都提供了与正则表达式匹配的字符串的访问入口、字符串的长度,以及标识匹配位置的索引 。
学习了这三个对象和集合,如何应用于字符串的判断和替换呢?regExp对象的三个方法正好解决了这个问题,它们是Replace方法、Test方法和Execute方法 。
1、Replace 方法
替换在正则表达式查找中找到的文本 。我们还是先看个例子:下面的例子说明了 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 Function
Response.write ReplaceTest("fox", "cat")"BR" ' 将 'fox' 替换为 'cat' 。
Response.write ReplaceTest("(\S+)(\s+)(\S+)", "$3$2$1") ' 交换词对.
%
2、Test 方法
对指定的字符串执行一个正则表达式搜索 , 并返回一个 Boolean 值指示是否找到匹配的模式 。正则表达式搜索的实际模式是通过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
Response.write RegExpTest("is.", "IS1 is2 IS3 is4")
%
3、Execute 方法
对指定的字符串执行正则表达式搜索 。正则表达式搜索的设计模式是通过 RegExp 对象的 Pattern 来设置的 。
Execute 方法返回一个 Matches 集合,其中包含了在 string 中找到的每一个匹配的 Match 对象 。如果未找到匹配,Execute 将返回空的 Matches 集合 。
三、JavaScript中正则表达式的使用
在JavaScript 1.2版以后,JavaScript也支持正则表达式 。
1、replace
replace在一个字符串中通过正则表达式查找替换相应的内容 。replace并不改变原来的字符串,只是重新生成了一个新的字符串 。如果需要执行全局查找或忽略大小写 , 那么在正则表达式的最后添加g和i 。

推荐阅读