Regex替换指定的文本

本文关键字:文本 替换 Regex | 更新日期: 2023-09-27 17:58:10

我想替换文本中的一些单词,但仅限于条件,例如,如果每个单词都被空格包围。

为此,我使用:

Regex rx = Regex(@"'s+" + word + @"'s+");
str = rx.Replace(str, word2);

最后,我也替换了空间(以及所有其他指定的环境)。如何绕过这一点?

Regex替换指定的文本

您可以使用'b锚点来匹配'w(字母数字)和'W(非字母数字)字符之间的边界。:

Debug.Assert(Regex.Match(word, "^'w+$").Success);
string result = Regex.Replace(input, @"'b" + word + @"'b", word2);
str = Regex.Replace(str ,@"(?<first>'s+)" + word + @"(?<last>'s+)","${first}" + word2 + "${last}");

对于您所描述的模式,正则表达式对我来说没问题。我使用Expresso来帮助验证我的正则表达式模式。还有RegExr,一个在线工具