C# Regex替换标记以生成有效的html

C# Regex替换标记以生成有效的html,c#,regex,regex-negation,C#,Regex,Regex Negation,我正在尝试转换以下提到的标记: [caption id="attachment_812" align="alignleft" width="240"]<img class="wp- image-92692" src="sample.jpg" alt="" width="316" height="210"/>Sample text[/caption] 使用正则表达式将其复制到下面的一个: <caption id="attachment_812" align="alignlef

我正在尝试转换以下提到的标记:

[caption id="attachment_812" align="alignleft" width="240"]<img class="wp-
image-92692" src="sample.jpg" alt="" width="316" height="210"/>Sample 
text[/caption]
使用正则表达式将其复制到下面的一个:

<caption id="attachment_812" align="alignleft" width="240"><img class="wp-
image-92692" src="sample.jpg" alt="" width="316" height="210"/>Sample 
text</caption>
所以基本上我想把[caption]标记转换成。因此,它将成为一个有效的html标记,然后使用html agility pack解析该标记

下面是C代码:

//Replace [caption]
htmlSource = Regex.Replace(htmlSource, @"\[caption]", "<caption>");
//Replace [/caption]
htmlSource = Regex.Replace(htmlSource, @"\[/caption]", "</caption>");
这适用于没有属性的标题标记。我正在寻找一个更好的解决方案,甚至保留属性,只需替换方括号,使其成为有效的html标记

Regex.Replace(htmlSource, @"\[(\/*caption.*?)\]", @"<$1>")


请参见

您可能需要退出关闭]您可能需要退出关闭]以及让多个标记像这样扩展它:Regex.replaceThmlSource,@\[\/*caption | img.*?\],@让多个标记像这样扩展它:Regex.replaceThmlSource,@\[\/*caption | img.*?\]@