如何有条件地替换正则表达式中的捕获组

时间:2017-09-15 19:47:29

标签: c# regex regex-group

我有一个字符串,以4个可能的代码结束,我需要用3个可能的代码替换。 例如,

abc.A => abc A code
abc.B => abc B code
abc.C => abc C code
abc.D => abc C code

虽然很容易将后缀代码放入捕获组,但我想知道如何进行替换,如果组==“D”,则替换为“C”,否则替换为捕获组。 / p>

基本子组替换模式:

(?<word>\w{3})\.(?<sub>[A-Z]+)

替换:

${word} ${sub} code

我正在使用c#,但由于从数据库中读取了模式和替换字符串并进行了替换(请参阅下文),我不能在代码中执行此操作:

Regex.Replace(mystring, pattern, replaceStr);

其中mystring是abc.A,abc.B等之一

0 个答案:

没有答案