用正则表达式替换特定部分

时间:2014-05-01 13:51:50

标签: c# regex

我想使用C#正则表达式将textarea值替换为其他值。现在我有这个:

Regex regex = new Regex("<textarea.*>(.*)</textarea>");
string s = "<textarea>test</textarea>";
string a = regex.Replace(s, "abc");

除此之外,打印abc而不是<textarea>abc</textarea>。我想让它尽可能地动态,

这样的事情

<textarea rows="20" class="style">test</textarea>

应该成为

<textarea rows="20" class="style">abc</textarea>

谢谢!

1 个答案:

答案 0 :(得分:2)

您需要使用捕获组,然后将它们放在输出中。像这样:

void Main()
{
  Regex regex = new Regex("(<textarea.*>)(.*)(</textarea>)");
  string s = "<textarea>test</textarea>";
  string a = regex.Replace(s, "$1abc$3");
  Console.WriteLine(a);
}