VB.netで正規表現を使って文字列を見つける方法2

前回は正規表現で文字列を一つだけ取りましたね?

今回は全部取ってみたいと思います。

前回の続きで書いていきます。

まず、ボタン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

1
実行すると…

URL:html/index.html – タイトル:トップページ
URL:html/test.html – タイトル:実験用テストページ
URL:hoge/index.html – タイトル:テストのトップページ
URL:homu/homu.html – タイトル:ほむほむ

全部出てくれましたね!
こんな感じで、難しい事書かなくてもできます。

ね?簡単でしょ?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です