Доброе утро,
Я создал проект vb.NET, который извлекает данные из HTML-файла WireShark, найденного по адресу https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=manuf.;hb=HEAD.
До сих пор мне удавалось загружать страницу в виде строки и искать строку, чтобы подтвердить, найден ли в строке «mac».
Я хотел бы, чтобы он искал MAC-адрес и выводил всю строку, на которой появляется MAC.
Например, если я ищу 00-00-00-00-00-00, я хотел бы иметь возможность извлечь всю строку «00:00:00 Xerox Xerox Corporation».
Вот что у меня есть:
Private Sub btn_search_Click(sender As Object, e As EventArgs) Handles btn_search.Click
Dim mac As String = txt_MAC.Text.ToUpper
Dim pattern As Regex = New Regex("^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$")
Dim match As Match = pattern.Match(mac)
If match.Success Then
mac = mac.Replace("-", ":")
mac = mac.Substring(0, mac.Length - 9)
Dim wc As New Net.WebClient
Dim html As String = wc.DownloadString("https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=manuf;hb=HEAD")
Dim macIndex = html.IndexOf(mac) 'returns line number in string
MsgBox("Valid MAC: " & mac)
If html.Contains(mac) Then
'Display MAC + Vendor. IE.... 0:00:01 Xerox Xerox Corporation'
' Is there a way to read only the specified line number in the string?
End If
Else
MsgBox("You must enter a valid MAC")
End If
End Sub
Любая помощь приветствуется.
.*
вокруг шаблона может замедлить обработку. - person Wiktor Stribiżew   schedule 05.10.2018