正则表达式用C#解析CDATA的HTML

Lit*_*ers 4 c# regex cdata

我想解析包含在CDATA中的任何HTML数据.

举个例子 <![CDATA[<table><tr><td>Approved</td></tr></table>]]>

谢谢!

Ron*_*lev 8

处理你的例子的表达式将是

\<\!\[CDATA\[(?<text>[^\]]*)\]\]\>
Run Code Online (Sandbox Code Playgroud)

组"文本"将包含您的HTML.

您需要的C#代码是:

using System.Text.RegularExpressions;
RegexOptions   options = RegexOptions.None;
Regex          regex = new Regex(@"\<\!\[CDATA\[(?<text>[^\]]*)\]\]\>", options);
string         input = @"<![CDATA[<table><tr><td>Approved</td></tr></table>]]>";

// Check for match
bool   isMatch = regex.IsMatch(input);
if( isMatch )
  Match   match = regex.Match(input);
  string   HTMLtext = match.Groups["text"].Value;
end if
Run Code Online (Sandbox Code Playgroud)

"输入"变量就在那里,只是为了使用您提供的示例输入