使用正则表达式查找键并替换其值

时间:2016-04-01 03:11:45

标签: c# regex

是否可以替换查找-pwd的匹配项,并使用****替换引号中的立即值。

string s = "-user 'username' -locale 'us' -pwd 'realpwd' -time 'pst' ";

string result = "-user 'username' -locale 'us' -pwd '****' -time 'pst' ";

2 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式捕获第一组-pwd

(-pwd +)\'(?:.*?)\'

代码

string input = "-user 'username' -locale 'us' -pwd 'realpwd' -time 'pst' ";
string pattern = "(-pwd +)\'(?:.*?)\'";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, "$1\'****\'");

Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);    
Console.ReadKey();

<强> IDEONE DEMO

答案 1 :(得分:0)

不使用捕获组的替代解决方案。

您只需搜索-pwd '.*?'并替换为-pwd '****'即可。的 Regex101 Demo