正規表現にはあまり慣れていませんが、ASP.Netで何かを達成しようとしています。2つの特定の文字列の間でHTMLを取得する正規表現
私はHTMLファイルを読み込み、何らかの処理を行い、新しい「マージされた」HTMLを出力しています。私が苦労している部分は、自分の作成した2つの定義済みの "タグ"の間にあるコードの集まりです。ここで
は、関連する入力HTMLの例です:
<table style="width: 500px; font-family: Trebuchet MS, sans-serif; font-size: 13px; background-color: #fff; border: 0; border-collapse: collapse;" align="center" cellspacing="0">
<thead>
<tr>
<th colspan="3" style="text-align: left;border-bottom: 1px solid #DDDDDD;">
Add-ons
</th>
</tr>
</thead>
<tbody>
[AddonsListSTART]
<tr style="border-bottom: 1px dashed #DDDDDD;">
<td>[AddonName]</td>
<td>[AddonQty]</td>
<td align="right">[AddOnPrice]</td>
</tr>
[AddonsListEND]
</tbody>
</table>
<br />
これは私のC#コードである:「htmlAddonsは」文字列に等しくなるようにするために、私は起こるしたい何
//Find Add-ons HTML : between [AddonsListSTART] & [AddonsListEND]
Regex rgxAddonSE = new Regex(@"\[AddonsListSTART\](?<MyHtml>.*)\[AddonsListEND\]");
Match matchAddonSE = rgxAddonSE.Match(htmlEmail);
string htmlAddons = matchAddonSE.ToString();
です:
<tr style="border-bottom: 1px dashed #DDDDDD;">
<td>[AddonName]</td>
<td>[AddonQty]</td>
<td align="right">[AddOnPrice]</td>
</tr>
問題は常に空白で、「matchAddonSE.Success」は常にFALSEです。私は正規表現に何か問題があることを知っていますが、私は何が分かりません。
ご協力いただきありがとうございます。
ヘザー
アハ内からシングルラインモードを用いる以外
同じこと!サイドバーに表示される役に立つリンクは私に答えてくれます:http://stackoverflow.com/questions/4000508/regex-expression-that-will-capture-everything-between-two-characters-including-m-この正規表現新しいRegex(@ "\ [AddonsListSTART \](? [\ s \ S] *)\ [AddonsListEND \]") ' –