正则表达式的使用 ASP

 更新时间:2006年10月27日 00:00:00   作者:  
复制代码 代码如下:

<%
' --------------------------------------------------------------
' Match 对象

' 匹配搜索的结果是存放在 Match 对象中,提供了对正则表达式匹配的只读属性的访问。
' Match 对象只能通过 RegExp 对象的 Execute 方法来创建,该方法实际上返回了 Match 对象的集合。
' 所有的 Match 对象属性都是只读的。在执行正则表达式时,可能产生零个或多个 Match 对象。
' 每个 Match 对象提供了被正则表达式搜索找到的字符串的访问、字符串的长度,以及找到匹配的索引位置等。
' ○    FirstIndex 属性,返回在搜索字符串中匹配的位置。FirstIndex属性使用从零起算的偏移量,该偏移量是相对于搜索字符串的起始位置而言的。换言之,字符串中的第一个字符被标识为字符 0
' ○    Length 属性,返回在字符串搜索中找到的匹配的长度。
' ○    Value 属性,返回在一个搜索字符串中找到的匹配的值或文本。
' --------------------------------------------------------------
' Response.Write RegExpExecute("[ij]s.", "IS1 Js2 IS3 is4")
Function RegExpExecute(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 & "'." & "<BR>"
    Next
    RegExpExecute = RetStr
End Function

' --------------------------------------------------------------------
' Replace 方法
' 替换在正则表达式查找中找到的文本。
' --------------------------------------------------------------------
' Response.Write RegExpReplace("fox", "cat") & "<BR>"        ' 将 'fox' 替换为 'cat'。
' Response.Write RegExpReplace("(S+)(s+)(S+)", "$3$2$1")    ' 交换词对.
Function RegExpReplace(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            ' 设置是否不区分大小写。
    RegExpReplace = regEx.Replace(str1, replStr)    ' 作替换。
End Function

' --------------------------------------------------------------------
' 使用 Test 方法进行搜索。
' 对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值
' 指示是否找到匹配的模式。正则表达式搜索的实际模式是通过 RegExp 对象的 Pattern 属性来设置的。
' RegExp.Global 属性对 Test 方法没有影响。
' 如果找到了匹配的模式,Test 方法返回 True;否则返回 False
' --------------------------------------------------------------------
' Response.Write RegExpTest("功能", "重要功能")
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
%>


相关文章

  • 深入浅析正则表达式与通配符

    深入浅析正则表达式与通配符

    这篇文章主要介绍了正则表达式与通配符的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2007-09-09
  • 深入浅出正则表达式中的边界\b和\B

    深入浅出正则表达式中的边界\b和\B

    对于正则表达式的中\B和\b 有些地方会出现弄不懂的情况,所以查找资料学习了一番,下面这篇文章主要给大家介绍了关于正则表达式中边界\b和\B的相关资料,需要的朋友可以参考下
    2021-10-10
  • Java/Js下使用正则表达式匹配嵌套Html标签

    Java/Js下使用正则表达式匹配嵌套Html标签

    以前写过一篇文章讲解如何使用正则表达式完美解决Html嵌套标签的匹配问题(使用正则表达式匹配嵌套Html标签),但是里头用到了平衡组这样的高级特性,貌似只有DotNet还有Perl正则引擎支持,因此通用性不高。
    2010-08-08
  • 临时记录:一个正则

    临时记录:一个正则

    临时记录:一个正则...
    2006-12-12
  • 关于HTML及UBB标记的闭合

    关于HTML及UBB标记的闭合

    关于HTML及UBB标记的闭合...
    2006-12-12
  • javascript中基于replace函数的正则表达式语法

    javascript中基于replace函数的正则表达式语法

    replace()最js中比较简单的字符替换函数,但是它也是可以跟正则结合实现强大的字符替换效果。
    2011-02-02
  • 最全最实用的正则表达式大全分享

    最全最实用的正则表达式大全分享

    正则式太难学,而且容易忘记 。很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。
    2015-10-10
  • 正则基础之 神奇的转义

    正则基础之 神奇的转义

    不同的语言或应用场景下,正则定义方式、元字符出现的位置不同,转义的方式也是林林总总,不一而同
    2012-10-10
  • grep中使用

    grep中使用"\d"匹配数字不成功的原因解决

    这篇文章主要介绍了grep中使用"\d"匹配数字不成功的原因解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 通过正则表达式删除空行的方法

    通过正则表达式删除空行的方法

    我们的目标是要删除文本中的空行,可能一行也可能是多行
    2014-05-05

最新评论