我正在尝试进行选择性替换,因此请替换字符串中的所有内容,而不是[& ]。
例如,如果输入字符串是“yyyy [m] mm”,我想将所有m替换为大写(除了[&]之间的那些),结果应该是yyyy [m] MM。
有什么想法吗?
感谢。
答案 0 :(得分:1)
这样做,至少在你的例子中。它使用negative lookbehind and a negative lookahead仅匹配未被括号括起的m
。它适用于[mm]
但不适用[mmm]
或[mmdd]
。
Regex.Replace("yyyy[m]mm", @"(?<!\[)m(?!\])", "M")