我需要一个正则表达式来替换.NET中的伪html

时间:2010-04-09 07:53:39

标签: c# .net regex

我有这样的文字:

this is a text in [lang lang="en" ]english[/lang] or a text in [lang lang="en" ]spanish[/lang]

我需要替换它们:

this is a text in <span lang="en">english </span> or a text in <span lang="es">spanish</span>

我需要一个正则表达式,而不是一个简单的替换。 lang标签中的语言可以是任何语言。

2 个答案:

答案 0 :(得分:1)

正则表达式:

\[lang lang="([^"]*)" \](.*?)\[/lang\]

的更换:

<span lang="$1">$2 </span> 

答案 1 :(得分:0)

您只需将[/lang]替换为</span>并使用

即可
Regex.Replace(text, @"\[lang lang=""(\w+)""\]", "<span lang=\"$1\">")

替换开头标记。