Regexp元描述

时间:2018-05-02 08:21:02

标签: regex vbscript asp-classic regex-negation regexp-like

当我在https://regex101.com (<meta[^>]*description[^>]([^<]+)>)运行时使用此正则表达式。

Match 1
Full match  265-314 `<meta name="description" content="Stackoverflow">`
Group 1.    265-314 `<meta name="description" content="Stackoverflow">`
Group 2.    289-313 ` content="Stackoverflow"

但是当我在我的页面上使用它时,它不会运行。

Function GetFirstMatch(PatternToMatch, StringToSearch)
    Set regEx = New RegExp
    regEx.Pattern = PatternToMatch
    regEx.IgnoreCase = True
    regEx.Global = True
    regEx.MultiLine = True
    Set CurrentMatches = regEx.Execute(StringToSearch)

    GetFirstMatch = ""
    If CurrentMatches.Count >= 1 Then
        Set CurrentMatch = CurrentMatches(0)
        If CurrentMatch.SubMatches.Count >= 1 Then
            GetFirstMatch = CurrentMatch.SubMatches(0)
        End If
    End If
    Set regEx = Nothing
End Function

GetFirstMatch("(<meta[^>]*description[^>]([^<]+)>)",sdatai)

谢谢

1 个答案:

答案 0 :(得分:0)

这是因为你在内容中有“描述”这个词。这导致正则表达式的第一部分(<meta[^>]*description)跳过所有内容,直到最后一次出现“描述”。这是应该解决这个问题的正则表达式:

(<meta[\s]+name="description"[^>]([^>]+)>)