前回は正規表現で文字列を一つだけ取りましたね?
今回は全部取ってみたいと思います。
前回の続きで書いていきます。
まず、ボタン2を置きます。(無い場合はテキストボックスをフォームに置きます。)
前回読んだ人はスルーしてください。
テキストボックスには↓ココから
<li><a href="html/index.html">トップページ</a></li>
<li><a href="html/test.html">実験用テストページ</a></li>
<li><a href="hoge/index.html">テストのトップページ</a></li>
<li><a href="homu/homu.html">ほむほむ</a></li>
↑ココまで
を入れときます。
ボタン2のソースはこんな感じ
'. $ ^ { [ ( | ) * + ? を含む場合は、文字の前にをつける 例: (1)→((?<value>[0-9]*) '<li><a href="html/index.html">トップページ</a></li> Dim pattern As String = "<li><a href=""(?<url>.*)"">(?<text>.*)</a></li>" Dim m As Match = Regex.Match(TextBox1.Text, pattern, RegexOptions.IgnoreCase Or RegexOptions.Compiled) Do While m.Success Console.WriteLine("URL:{0} - タイトル:{1}", m.Groups("url").Value, _ m.Groups("text").Value) m = m.NextMatch() Loop
URL:html/index.html – タイトル:トップページ
URL:html/test.html – タイトル:実験用テストページ
URL:hoge/index.html – タイトル:テストのトップページ
URL:homu/homu.html – タイトル:ほむほむ
全部出てくれましたね!
こんな感じで、難しい事書かなくてもできます。
ね?簡単でしょ?