正規表現を使っての文字列の抽出方法

タグの編集
投稿者 クロネコ  (社会人) 投稿日時 2010/2/22 07:38:06
正規表現を使って、HTML内の「HTML内の文字を抽出する」や「VBnetで Webbrowserコントロール」を抽出したいと思っているのですが、上手くいきません。

ヴィッウィーンするときに、「""」があると上手くいかないようです。

このような場合、何か方法はあるのでしょうか?

<TD[^<]*</TD> '○出来ます 

<h2 class="Title"[^<]*</Div> '×出来ません 




html-------------------------------------------


<h2 class="Title">HTML内の文字を抽出する</h2>
<div class="NewsBody">VBnetで Webbrowserコントロール</div>


html-------------------------------------------



投稿者 (削除されました)  () 投稿日時 2010/2/23 07:57:37
(削除されました)
投稿者 葉月  (社会人) 投稿日時 2010/5/2 19:14:25
どういったケースを想定しているかにより回答が変わってきます。
サンプルのように決められたソース(サイトと言い換えることもできます)を
摘出するなら正規表現を使うより、決められたタグだけを抜き出すように作
った方がいいです。
複数のパターンがあるなら、パターンごとに自作メソッド、またはクラスご
とに作って対応します。
無数のパターンがあり、それでは効率が悪いなら正規表現を考えます。

詳しくは、こちらを参考にしてください。
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=9457
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=141

>>>「""」があると上手くいかないようです。
私も似たケースでエスケープ文字を処理するときに、イラっときます。
String.Replaceメソッドなどで処理がうまくできません。
しょうがないので、力技でごまかします。

>イメージ(コンパイル通らないと思います)
' 末尾の\と半角が邪魔 
Dim str As String = "http://test.com/1024\" "
str = str.Substring(0, str.Length-2)