0

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

有任何想法吗?

谢谢。

4

1 回答 1

1

至少在您的示例中,这将做到这一点。它使用否定的lookbehind和否定的lookahead来只匹配m没有被括号包围的s。它可以使用[mm]但不能使用[mmm]or [mmdd]

Regex.Replace("yyyy[m]mm", @"(?<!\[)m(?!\])", "M")
于 2013-04-27T01:12:17.640 回答