これはいくつかの容量で尋ねられたことは分かっていますが、解決策の実際の例はまだわかりませんでした。私は、Html Agility PackがHTML文字列を解析することを知っていますが、ダウンロード/インストールしたくありません。私は、たとえばなど、C#間にワイルドカード文字列を使用して2つの文字列の間の文字列を取得する正規表現ですか?
string html = client.DownloadString("http://yoursite.com/page.html");
を使用して、ウェブページの内容は、私は彼らと一緒にクラスを持つタグを持っているが、これらのタグのいくつかはまた、独自のID、またはスタイルを持ってもらう:
<td>I Dont want this</td>
<td class="myClass">I want this</td>
<td class="myClass" id="myID">I want this</td>
<td style="border-top-width: 0px; class="myClass">I want this</td>
私はを試してみました
など、ID、私は
<td>(.*?)</td>
をしようとしたが、それは、任意のクラスなしのタグを返します。
<td class="myClass"[^>]*>(.*?)</td>
ただし、2番目と3番目の
<td>
の値だけが返されますが、4番目の値は返されません。どのように
<td>
を
myClass
と返すワイルドカードを追加できますか?
id
または
style
の前後にあるものは無視しますか?
私はあなたに[このかなり有名な質問]を指摘するように強制される(http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) – Jonesopolis
HTMLの一部は常に質問で指定されている形式と同じ形式になります。ブラウザが自動的に自動補完し、自動修正するためのエラーや過負荷はありません。 – KingsInnerSoul
'class'属性の前に別の' [^>] * 'を追加するだけです。あなたのHTMLがあなたの言うとおりに一貫しているならば、十分であるはずです。 –