C#Regex - 替换为自身

时间:2014-07-13 11:55:51

标签: c# regex replace

想要以编程方式使用HTML标记格式化文章。在文章中找到模式并将其自身替换为每侧附加的标签的最佳方法是什么?更具体地说,如何在以下示例中将匹配传递到thematch

string formattedArticle
    = Regex.Replace(article, "^\d.+", "<em>" + thematch + "</em>");

2 个答案:

答案 0 :(得分:6)

The documentation解释说:

  

$&替换包括替换字符串中的整个匹配。

事实上,在他们的例子中,他们提出了一个与你非常相似的用例:

  

通常,它用于将子字符串添加到匹配字符串的开头或结尾。

所以在你的情况下你可以写:

Regex.Replace(article, "^\d.+", "<em>$&</em>");

答案 1 :(得分:2)

  

将自身替换为每侧附加的标签

只需将其封闭在括号(...)内的组内,然后使用$1访问它并替换为<TAG>$1</TAG>

Online demo

示例代码:

var pattern = @"^(\d.+)";
var replaced = Regex.Replace(text, pattern, "<em>$1</em>"); 

详细了解Replace only some groups with Regex