1

現在、次のような文字列に対して単純な検索と置換を実行しています。

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

ただし、これを置き換えようとすると、Name次のようになりWHATEVERます。

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

1 行目ではなく 3 行目を変更する必要がありました。現在の単語がドット ( .) の後にあるかどうかを確認し、その単語の置換をスキップするにはどうすればよいですか?

私は .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 に答える