ASP.Net 2.0アプリケーションでVB.Netを使用して、不要なマークアップを削除する正規表現を実行しています。私は削除したいRegExを使用して終了タグとHTMLの開始タグを正しく一致させる
<span>Lorem <span class="special">ipsum</span> dolor sit amet.</span>
:
output = Regex.Replace(output, "<span\s*>(?<Text>.*?)</span>" & styleRegex, "${Text}", RegexOptions.Compiled Or RegexOptions.CultureInvariant Or RegexOptions.IgnoreCase Or RegexOptions.Singleline)
だから、このコンテンツのために:私がやりたいことの一つは、それらのいずれかの属性を持っていないスパン要素を削除しています外側のスパン要素
Lorem <span class="special">ipsum dolor sit amet.</span>
正規表現でこれは可能ですか、私はもう少し高度なものを実装する必要があります:クロージングスパンが、それは全体の来る最初のものは一致しているので残念ながら、私の正規表現は、上記の私のこれは、結果として得られ?
これは「正規表現でHTMLを解析できますか?」というトピックの繰り返しですので、これをコメントとして投稿しています。正規表現では入れ子構造を認識できません。言語(例えば「入れ子構造」)を認識したい場合は、是非パーサーを使用してください。あなたの正規表現で見られる動作は、正規表現だけで得られるほど近いです。 – Tomalak
Tomalakのコメントには、先週だけでこれが何回も出てきたので、多くのアップフォートを提供したいと思います。 – Svante
私の質問への答えはそうですね。いいえ、はい。 以前に尋ねられた同様の質問のいずれかに、VB.Net/Asp.Net 2.0のコードに関する回答がありますか? – travis