2014-01-15 7 views
0

Регулярные выражения в vb.net 2010регулярных выражений (регулярных выражений) в vb.net

Я хочу извлечь число между тегами шрифтов с веб-сайта в моей форме vb.net

<html> 
.... 
When asked enter the code: <font color=blue>24006 </font> 
.... 
</html> 

Номер является Авто генерироваться

я использую:

Dim str As String = New WebClient().DownloadString(("http://www.example.com")) 
    Dim pattern = "When asked enter the code: <font color=blue>\d{5,}\s</font>" 
     Dim r = New Regex(pattern, RegexOptions.IgnoreCase) 
     Dim m As Match = r.Match(str) 
     If m.Success Then 
      Label1.Text = "Code" + m.Groups(1).ToString() 
      m = m.NextMatch() 

     Else 
      Debug.Print("Failed") 
     End If 

Но есть выход:

Код

===========================

Благодаря

Извините за плохой английский ..

ответ

0

что-то подобное должно помочь вам. Обработка исключений зависит от вас.

Dim matchCollection As MatchCollection = regex.Matches("When asked enter the code: <font color=blue>24006 </font>","<font color=.*?>(.*?)</font>",ReaderOptions.None) 
For Each match As Match In matchCollection 
    If match.Groups.Count >0 then 
    Console.WriteLine(match.Groups(1).Value) 
end if 
Next   

или с немного LINQ

Dim matchCollection As MatchCollection = regex.Matches("When asked enter the code: <font color=blue>24006 </font>","<font color=.*?>(.*?)</font>",ReaderOptions.None) 
For Each match As Match In From match1 As Match In matchCollection Where match1.Groups.Count >0 
    Console.WriteLine(match.Groups(1).Value) 
Next   

для получения дополнительной информации см VB.NET Regex.Match и VB.NET Regex.Matches

Смежные вопросы