谢谢,可是出现了错误:无效字符 /test/linehttp.asp,行 132 str=RegExp.$1

解决方案 »

  1.   

    Function Regexpget(patrn,strng)
    Dim Regex,Match,Matches
    Dim str
    str=""
    Set Regex = New RegExp
    Regex.Pattern = patrn
    Regex.Ignorecase = True
    Regex.Global= True
    if Regex.test(strng) then
    str=RegExp.$1
    end if
    Regexpget=str
    End Function
      

  2.   

    $1这样的属性是RegExp对象的全局属性JavaScript支持直接访问VBScript因为自身语言特性决定,无法访问它的$1属性
      

  3.   

    你可以用 Execute 方法,来取得匹配的每个部分
    ===============================
    Microsoft(R) Visual Basic(R) Scripting Edition 
    Execute 方法   语言参考 
    版本 5 
     请参阅                    应用于 
    --------------------------------------------------------------------------------描述
    对指定的字符串执行正则表达式搜索。
    语法
    对象.Execute(string)
    Execute 方法的语法包括以下几个部分:部分 描述 
    对象 必选项。总是一个 RegExp 对象的名称。 
    string 必选项。要在其上执行正则表达式的文本字符串。 
    说明
    正则表达式搜索的设计模式是通过 RegExp 对象的 Pattern 来设置的。
    Execute 方法返回一个 Matches 集合,其中包含了在 string 中找到的每一个匹配的 Match 对象。如果未找到匹配,Execute 将返回空的 Matches 集合。下面的代码说明了 Execute 方法的用法:
    Function RegExpTest(patrn, strng)
      Dim regEx ,Match,Matches ' 建立变量。
      Set regEx = New RegExp ' 建立正则表达式。
      regEx.Pattern = patrn ' 设置模式。
      regEx.IgnoreCase = True ' 设置不区分大小写。
      regEx.Global = True ' 搜索全部匹配。
      RegExpTest = regEx.Execute(strng) ' 执行搜索。
    End FunctionMsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
    --------------------------------------------------------------------------------