プロが教えるわが家の防犯対策術!

下記のようにTextBox1に入力されているとします。
そこで、'<TD><a href="main.py?qtype=userpage&teamnum=162&username=KOTOKO"> KOTOKO </a> </TD>'と書かれた行から、
<a></a>タグで囲まれた' KOTOKO'という文字を検索して、
'<TD> 18 </TD>'と書かれた文字の18と、
<a></a>タグで囲まれた'11346595'と、
<a></a>タグで囲まれた'16184'を取得してMsgBoxに表示したいのですが、
どうすれば出来ますでしょうか?
(18、11346595、16184という数字は変動します。)
いくら検索しても思うようなものが見つかりませんでした。

因みに、大本のhtmlソースはこちらです。
http://fah-web.stanford.edu/cgi-bin/main.py?qtyp …

↓これがTextBox1に入力されている値です。
<TR bgcolor=#ffffff>
<TD> 18 </TD>
<TD><a href="main.py?qtype=userpage&teamnum=162&username=KOTOKO"> KOTOKO </a> </TD>
<TD><a href="http://fah-web2.stanford.edu/awards/cert.php?u=K … target="_blank"> 11346595 </a> </TD>
<TD><a href="http://fah-web2.stanford.edu/awards/cert.php?u=K … target="_blank"> 16184 </a> </TD>
</TR>

<TR bgcolor=#dcdcdc>
<TD> 19 </TD>
<TD><a href="main.py?qtype=userpage&teamnum=162&username=yukichan"> yukichan </a> </TD>
<TD><a href="http://fah-web2.stanford.edu/awards/cert.php?u=y … target="_blank"> 10625127 </a> </TD>
<TD><a href="http://fah-web2.stanford.edu/awards/cert.php?u=y … target="_blank"> 4769 </a> </TD>
</TR>


↓これがVBのコード
Public Class Form1
Dim url As String

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
url = "http://fah-web.stanford.edu/cgi-bin/main.py?qtyp …


WebBrowser1.Navigate(url)



End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()
Form2.TextBox1.Text = WebBrowser1.Document.Body.OuterHtml
Dim r As New System.Text.RegularExpressions.Regex("KOTOKO ", System.Text.RegularExpressions.RegexOptions.IgnoreCase)

'TextBox1.Text内で正規表現と一致する対象を1つ検索
Dim m As System.Text.RegularExpressions.Match = r.Match(Form2.TextBox1.Text)

'次のように一致する対象をすべて検索することもできる
'Dim mc As System.Text.RegularExpressions.MatchCollection = _
' r.Matches(TextBox1.Text)

While m.Success
'一致した対象が見つかったときキャプチャした部分文字列を表示
MsgBox(m.Value)
'次に一致する対象を検索
m = m.NextMatch()
End While
End Sub
End Class

A 回答 (2件)

No1です。


こっちが良いかも?

Dim r As New System.Text.RegularExpressions.Regex(">\s[^>]+?\s</(a|TD) ", System.Text.RegularExpressions.RegexOptions.IgnoreCase)
    • good
    • 0

Dim r As New System.Text.RegularExpressions.Regex(">\s.+?\s</(a|TD) ", System.Text.RegularExpressions.RegexOptions.IgnoreCase)



とかかな?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!