Regex 非捕获组在完全匹配中被捕获

Regex 非捕获组在完全匹配中被捕获,regex,vbscript,Regex,Vbscript,示例字符串:dadadasd\u 37=12abc\u dadadasd\u asdas\u asd 我的正则表达式:(?:37=)([^.]+) 我想要得到的是:12abc(任何以37=开头,以结尾的词) 但是,由于通过集合访问捕获组匹配,因此完整匹配仍在进行中 <% Dim regex, matches, match, strSubject, strResult strSubject = "dadasd_37=12abc_dadasd_asdasdasd_asdas_asd" s

示例字符串:
dadadasd\u 37=12abc\u dadadasd\u asdas\u asd

  • 我的正则表达式:
    (?:37=)([^.]+)

  • 我想要得到的是:
    12abc
    (任何以
    37=
    开头,以
    结尾的词)


  • 但是,由于通过集合访问捕获组匹配,因此完整匹配仍在进行中

    <%
    Dim regex, matches, match, strSubject, strResult
    
    strSubject = "dadasd_37=12abc_dadasd_asdasdasd_asdas_asd"
    
    set regex = new RegExp
    regex.IgnoreCase = True
    regex.Pattern = "(?:_37=)([^_]+)"
    
    set matches = regex.Execute(strSubject)
    
    if matches.Count >= 1 then
        set match = matches(0)
        if match.SubMatches.Count >= 1 then
            strResult = match.SubMatches(0)
        else
            strResult = ""
        end If
    else
        strResult = ""
    end if
    
    response.write "strResult:" & strResult & ""
    %>
    
    =1那么
    设置匹配=匹配(0)
    如果match.SubMatches.Count>=1,则
    strResult=匹配。子匹配(0)
    其他的
    strResult=“”
    如果结束
    其他的
    strResult=“”
    如果结束
    response.write“strResult:&strResult&”
    %>
    
    是否有一种方法可以让我只获取所需的文本,而不必处理子匹配?我不知道vbscript还有其他方法。你可以改用javascript吗?不幸的是,不是“以u结尾的词”根本没有这样做。所有的
    ([^]+)
    都将捕获任何不是
    \u
    的东西,而不是正则表达式专家,但是这个模式正在做我想要的。。。很像我想要的