正则表达式的使用 ASP

时间:2021-05-18

复制代码 代码如下:
<%
'--------------------------------------------------------------
'Match对象

'匹配搜索的结果是存放在Match对象中,提供了对正则表达式匹配的只读属性的访问。
'Match对象只能通过RegExp对象的Execute方法来创建,该方法实际上返回了Match对象的集合。
'所有的Match对象属性都是只读的。在执行正则表达式时,可能产生零个或多个Match对象。
'每个Match对象提供了被正则表达式搜索找到的字符串的访问、字符串的长度,以及找到匹配的索引位置等。
'○FirstIndex属性,返回在搜索字符串中匹配的位置。FirstIndex属性使用从零起算的偏移量,该偏移量是相对于搜索字符串的起始位置而言的。换言之,字符串中的第一个字符被标识为字符0
'○Length属性,返回在字符串搜索中找到的匹配的长度。
'○Value属性,返回在一个搜索字符串中找到的匹配的值或文本。
'--------------------------------------------------------------
'Response.WriteRegExpExecute("[ij]s.","IS1Js2IS3is4")
FunctionRegExpExecute(patrn,strng)
DimregEx,Match,Matches'建立变量。
SETregEx=NewRegExp'建立正则表达式。
regEx.Pattern=patrn'设置模式。
regEx.IgnoreCase=True'设置是否不区分字符大小写。
regEx.Global=True'设置全局可用性。
SETMatches=regEx.Execute(strng)'执行搜索。
ForEachMatchinMatches'遍历匹配集合。
RetStr=RetStr&"Matchfoundatposition"
RetStr=RetStr&Match.FirstIndex&".MatchValueis'"
RetStr=RetStr&Match.Value&"'."&"<BR>"
Next
RegExpExecute=RetStr
EndFunction

'--------------------------------------------------------------------
'Replace方法
'替换在正则表达式查找中找到的文本。
'--------------------------------------------------------------------
'Response.WriteRegExpReplace("fox","cat")&"<BR>"'将'fox'替换为'cat'。
'Response.WriteRegExpReplace("(S+)(s+)(S+)","$3$2$1")'交换词对.
FunctionRegExpReplace(patrn,replStr)
DimregEx,str1'建立变量。
str1="Thequickbrownfoxjumpedoverthelazydog."
SETregEx=NewRegExp'建立正则表达式。
regEx.Pattern=patrn'设置模式。
regEx.IgnoreCase=True'设置是否不区分大小写。
RegExpReplace=regEx.Replace(str1,replStr)'作替换。
EndFunction

'--------------------------------------------------------------------
'使用Test方法进行搜索。
'对指定的字符串执行一个正则表达式搜索,并返回一个Boolean值
'指示是否找到匹配的模式。正则表达式搜索的实际模式是通过RegExp对象的Pattern属性来设置的。
'RegExp.Global属性对Test方法没有影响。
'如果找到了匹配的模式,Test方法返回True;否则返回False
'--------------------------------------------------------------------
'Response.WriteRegExpTest("功能","重要功能")
FunctionRegExpTest(patrn,strng)
DimregEx,retVal'建立变量。
SETregEx=NewRegExp'建立正则表达式。
regEx.Pattern=patrn'设置模式。
regEx.IgnoreCase=False'设置是否不区分大小写。
retVal=regEx.Test(strng)'执行搜索测试。
IfretValThen
RegExpTest="找到一个或多个匹配。"
Else
RegExpTest="未找到匹配。"
EndIf
EndFunction
%>


声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章