VBで正規表現
下記のような文字列がTextBoxに入力されています。
<a></a>で囲まれた部分の抽出は出来ましたが、
<td></td>タグで囲まれた’18’も取り出したいのですが正規表現ではどの様に記述すれば宜しいでしょうか?
関係有りそうなコードはこれです。
Regex("<a href=""(?<url>.*?)"".*?>(?<text>.*?)</a>"
----------------------------------------
<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"> 11379753 </a> </TD>
<TD><a href="http://fah-web2.stanford.edu/awards/cert.php?u=K … target="_blank"> 16190 </a> </TD>
</TR>
----------------------------------------
No.2ベストアンサー
- 回答日時:
No1です。
KOTOKOが見つかればいいのかはわからなかったので、
取り合えず全部を抜き出すもの。
Imports System.Text.RegularExpressions ' 正規表現
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.ScriptErrorsSuppressed = True
WebBrowser1.Navigate(url)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim re As Regex = New Regex("(?<Rank>\d+)\s+(?<Donor>.+?)\s+(?<Score>\d+?)\s+(?<WU>\d+)\s", RegexOptions.Singleline)
Dim st As String = ""
Dim ch As Boolean = False
For Each tg As HtmlElement In WebBrowser1.Document.GetElementsByTagName("TR")
st = tg.InnerText
If Not st Is Nothing AndAlso st.StartsWith("1") Then ch = True
If ch Then
Dim m As Match = re.Match(st)
Debug.Print(m.Result("${Rank}") & vbTab & m.Result("${Donor}") & vbTab & m.Result("${Score}") & vbTab & m.Result("${WU}"))
End If
Next
End Sub
End Class
一例になれば。
No.1
- 回答日時:
Regex("TD>\s(?<no>[^>]+?)</TD|<a href=""(?<url>.*?)"".*?>(?<text>.*?)</a>"
とか?
この回答への補足
試してみましたが上手く動きません。
全コードを書きます。
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.ScriptErrorsSuppressed = True
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 a As String
Dim s1 As String = Form2.TextBox1.Text
Form2.TextBox1.Select(s1.IndexOf("KOTOKO ") - 87, 370)
a = Form2.TextBox1.SelectedText
'Dim rr As New System.Text.RegularExpressions.Regex("<a href=""(?<url>.*?)"".*?>(?<text>.*?)</a>", System.Text.RegularExpressions.RegexOptions.IgnoreCase Or System.Text.RegularExpressions.RegexOptions.Singleline)
Dim rr As New System.Text.RegularExpressions.Regex("TD>\s(?<no>[^>]+?)</TD|<a href=""(?<url>.*?)"".*?>(?<text>.*?)</a>", System.Text.RegularExpressions.RegexOptions.IgnoreCase Or System.Text.RegularExpressions.RegexOptions.Singleline)
'TextBox1.Text内で正規表現と一致する対象をすべて検索
Dim mcc As System.Text.RegularExpressions.MatchCollection = rr.Matches(a)
For Each mm As System.Text.RegularExpressions.Match In mcc
'正規表現に一致したグループの文字列を表示
MsgBox("タグ:" + mm.Groups(1).Value + vbCrLf + "タグ内の文字列:" + mm.Groups(2).Value)
Next
End Sub
End Class
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<a href="#" …>の意味を教えて...
-
html メールリンクにて自動ファ...
-
HTMLソースからURLだけを抜き出...
-
時間によってリンク先を変える...
-
一つの行にURLが複数ある場合の...
-
lightwindowでPDFを表示させる...
-
HTML内に記載された画像のURLを...
-
別ファイルのfunctionの読み込み方
-
SCRIPT5007: 未定義または NULL...
-
javascriptとApacheの設定
-
Dreamweaver で 外部JSを読み込...
-
window.open()の複数の使用
-
javascriptでクリックしたリン...
-
新しいウィンドゥを最大化で立...
-
javascriptでalertの文字列をコ...
-
スライド写真で2、3枚目をラ...
-
複数の外部jsをランダム表示さ...
-
window.open でExcelファイルを...
-
左右のフレームを同時にスクロ...
-
変数の代入値を外部の.txtファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<a href="#" …>の意味を教えて...
-
相対パスと絶対パスの速度
-
フレームだけ閉じる方法ありま...
-
pythonのWebスクレイピングでfi...
-
html メールリンクにて自動ファ...
-
HTMLソースからURLだけを抜き出...
-
個別にハイパーリンクの色を指...
-
<a href>での背景色について。
-
リンクに飛ばない・・・
-
プルダウンメニューからリンク...
-
mailto + 変数名
-
target="_blank"
-
ある一定時間操作していない場...
-
一つの行にURLが複数ある場合の...
-
ページ全体にリンクを設定する...
-
時間によってリンク先を変える...
-
リンクを選択すると現れる点線枠
-
HTML内に記載された画像のURLを...
-
次のHTMLが表示されたものについて
-
アンカーをクリックしても遷移...
おすすめ情報