C# Regex.Replace 不区分大小写作为匹配的函数



假设我有一些这样的文本:

string text = "Hello world! hElLo world!";

我想以不区分大小写的方式在每个单词"hello"周围添加一个 span 标签,以便结果是这样的:

string text = "<span>Hello</span> world! <span>hElLo</span> world!";

我尝试用正则表达式来做到这一点,像这样替换:

Regex.Replace(text, "hello", "<span>hello</span>", RegexOptions.IgnoreCase);

但我真正需要的只是要创建的 span 标签,而不要使用原始大小写。所以我需要替换短语是匹配短语的函数。我该怎么做?

不要在

替换模式中硬编码hello,而是使用对整个匹配值的$&反向引用。

"<span>hello</span>"替换为"<span>$&</span>",使用

var replaced = Regex.Replace(text, "hello", "<span>$&</span>", RegexOptions.IgnoreCase);

有关替换反向引用的更多信息,请参阅正则表达式中的替换。

最新更新