Regex.Replace - 帮助!

时间:2011-04-12 20:17:03

标签: c# regex

我正在尝试做一个简单的模式匹配并替换:

Regex.Replace(sUserSettings, @"Name={could_be_anything};", "Name=Tim;");

我一直在尝试:

Regex.Replace(sUserSettings, @"Name=\*[];", "Name=Tim;");

没有快乐 - 我哪里出错?

2 个答案:

答案 0 :(得分:1)

[]没有任何匹配。

要匹配任何内容(不合理),请使用.*?

Regex.Replace(sUserSettings, @"Name=\*.*+?;", "Name=Tim;");

现在,我不确定为什么你需要先匹配一个星号(\*)。如果没关系,你可以把它留下来:

Regex.Replace(sUserSettings, @"Name=.*?;", "Name=Tim;");

答案 1 :(得分:1)

Regex.Replace( sUserSettings, @"(^|;)Name=[^;]*(;)?", "$1Name=Tim$2" )

语料库并在http://refiddle.com/10g

进行测试

这允许你替换它,即使它在字符串的开头或结尾没有尾随';'