1

我目前正在像这样的字符串上运行一个简单的查找和替换:

1. User.Name "John"
2. User.Age 20
3. Name.Length 5

但是,尝试替换NameWHATEVER以下结果:

1. User.WHATEVER "John"
2. User.Age 20
3. WHATEVER.Length 5

我需要更改第 3 行,而不是第 1 行。如何检查当前单词是否在点 ( .) 之后并跳过替换该单词?

我在 .NET 4.0 中,我的正则表达式目前看起来像这样:

result = new Regex(@"\b" + oldWord + @"\b").Replace(text, newWord);
4

1 回答 1

3

您可以:.(?<!\.)

这给出了:

result = new Regex(@"\b(?<!\.)" + oldWord + @"\b").Replace(text, newWord);
于 2012-08-17T16:01:47.780 回答