2011-01-09 9 views
1

HTML文字列を解析する必要があります。私は、この形式で文字列からvalueを解析する必要があります。形式constString1_Value_conString2の値を解析します。

title="Profil">VALUE</a> 

値は、任意の数の文字を持つことができ、それが</a>で終わらなければなりません。

+1

"こんにちは、私はregExpでHTML文字列を解析する必要があります。私は1つの問題があります - 今は2つあります;-) – BrokenGlass

+0

正規表現でHTMLを解析しますか? – ShahidAzim

答えて

1

あなたが本当に正規表現を使用する必要がありますし、あなたのテキストは常にドットで終わらなければならない場合(。)あなたはこれを使用することができます、それは多くの一般的な構文解析の問題はるかに簡単になりますけれども、私は、同様HtmlAgilityPackを示唆している

Regex valuePattern=new Regex(@"title=""Profil"">(.*\.)</a>"); 
string value = ""; 
Match match = valuePattern.Match(text); 

if(match.Success) 
    value = match.Groups[1].Value; 

HTMLを解析するため。

+0

アドバイスをよろしくお願いします – Paul

2

これは、HTMLパーサーとXPathを使用すると非常に簡単になる可能性があります。おそらく正規表現よりも良い選択です。

HtmlWeb hw = new HtmlWeb(); 
HtmlDocument doc = hw.Load(@"http://jsbin.com/onoho3"); 
HtmlNode node = doc.DocumentNode.SelectSingleNode("//a[@title='Profil']"); 
string myValue = node.InnerText; 

もちろん、あなたはまた、文字列からドキュメントを読み込むことができます:ここでHTML Agility Pack使った例だ

HtmlDocument doc =new HtmlDocument(); 
doc.LoadHtml(html); 

あなたが正規表現を必要とした場合は、いくつかのpossibiliesは次のとおりです。
title="Profil">.*?</a>title="Profil">[^<>]*</a>、またはtitle="Profil">\w*</a>など、必要なものに応じて異なります。あなたは特殊文字を持っていないので、正規表現は簡単です。

関連する問題