Почему звонить по номеру с пустым именем НЕТ? - PullRequest
0 голосов
/ 25 марта 2019

Если я позвоню

=GetElementByRegex(A3,"placeholder=""(.*?)"">")

работает, но когда я хочу взять номер или другой код

A2=`https://www.alexa.com/siteinfo/taiwantrade.com/`

=GetElementByRegex(A2,"<!-- Alexa web traffic metrics are available via our API at http://aws.amazon.com/awis -->(.*?)</strong>")

приходит пусто. Я не знаю почему. Я новый

Код, который я использую.

Public Function GetElementByRegex(url As String, reg As String)
    Dim XMLHTTP As Object, html As Object, objResult As Object
    Set XMLHTTP = CreateObject("MSXML2.serverXMLHTTP")
    XMLHTTP.Open "GET", url, False
    XMLHTTP.setRequestHeader "Content-Type", "text/xml"
    XMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0"
    XMLHTTP.send
    Set html = CreateObject("htmlfile")
    html.body.innerHTML = XMLHTTP.ResponseText
    Set regEx = CreateObject("VBScript.RegExp")
    regEx.Pattern = reg
    regEx.Global = True
    If regEx.Test(XMLHTTP.ResponseText) Then
        Set matches = regEx.Execute(XMLHTTP.ResponseText)
        If IsMissing(index) Then
            GetElementByRegex = matches(0).SubMatches(0)
        Else
            GetElementByRegex = matches(index).SubMatches(0)
        End If
        Exit Function
    End If
    GetElementByRegex = ""
End Function

1 Ответ

0 голосов
/ 25 марта 2019

Используйте следующее RegEx: https://regex101.com/r/EQBjSC/1

=GetElementByRegex(A2,"<!-- Alexa web traffic metrics are available via our API at http:\/\/aws\.amazon\.com\/awis -->\n(.*?)<\/strong>")

Обратите внимание, что вам нужно экранировать специальные символы, такие как / и . с обратной косой чертой \

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...