C#RegEx选择性替换

时间:2013-04-27 00:49:31

标签: c# regex replace

我正在尝试进行选择性替换,因此请替换字符串中的所有内容,而不是[& ]。
例如,如果输入字符串是“yyyy [m] mm”,我想将所有m替换为大写(除了[&]之间的那些),结果应该是yyyy [m] MM。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

这样做,至少在你的例子中。它使用negative lookbehind and a negative lookahead仅匹配未被括号括起的m。它适用于[mm]但不适用[mmm][mmdd]

Regex.Replace("yyyy[m]mm", @"(?<!\[)m(?!\])", "M")