HTMLコードから文字列を抽出する際に問題があります(これは基本的に正規表現の問題です)。コードは次のとおりです。
string wheretosearch = @"
<td class=""name"">
<div>
<a href=""/addr1.html"" class=""link "">
<span>Title1</span>
</a></td>
[some code]
<td class=""name"">
<div>
<a href=""/addr2.html"" class=""link "">
<span>Title2</span>
</a></td>";
タグ間のタイトルを抽出したい。私の問題は、不明な数の文字を正規表現に入れることができないことです(.* td class=""name"" の後のセクション):
<td class=""name"">.*<span>(?<title>.*)</span>
簡単に言えば、正規表現を見つけ<td class=""name"">
て、不明な数の文字の後に の最初の出現を見つけ、その最初と<span>
の間の値を取るようにしたいのです。<span>
</span>
それが実際に行うことは、最後の出現を<span>
取得し、最後のタイトルのみを提供します。
編集:
さて、HTML の問題の他に、問題は次のようなものです: 文字列があります:
「これはテキストです: NICE. これは素晴らしいテキストです: NICE TOO.」
「This」、次に不明な文字数、「:」と「.」の間の文字列を取りたいと思います。これはどのように行うことができますか?
もちろん、私はその複雑な式の出現ごとに興味があるので、出力はコレクションで「NICE」と「NICE TOO」になります。
"This.*(?<title>.*)."
@urlreaderが述べたように、「NICE TOO」文字列のみを取得するような私の表現では、一致する最大長の文字列が見つかります。