0

私は選択的置換を行おうとしているので、文字列内のすべてを置き換えますが、[ & ] の間の文字は置き換えません。
たとえば、入力文字列が「yyyy[m]mm」の場合、すべての m を大文字に置き換えたい ([ & ] の間のものを除く)。結果は yyyy[m]MM になるはずです。

何か案は?

ありがとう。

4

1 に答える 1

1

少なくともあなたの例では、これでうまくいきます。否定後読みと否定先読みを使用してm、括弧で囲まれていないのみに一致します。orでは機能しますが、 では機能し[mm]ません。[mmm][mmdd]

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