単一の正規表現で条件付き置換を実行することはできません。あなたは2つのステップでそれをする必要があります(これはPythonの例です):
>>> s = "00350-ABA-0NZ0:AXYA-11/11/2012"
>>> s = re.sub(r"[A-Za-z]", "c", s)
>>> s
'00350-ccc-0cc0:cccc-11/11/2012'
>>> s = re.sub(r"\d", "n", s)
>>> s
'nnnnn-ccc-nccn:cccc-nn/nn/nnnn'
そして、あなたはそれをこのように行う必要があります-私はあなたのコメントであなたの解決策を見ただけです、そしてあなたがそれをもう一度見ると、あなたはそれがうまくいかないのを見るでしょう。ヒント:'ccccc-ccc-cccc:cccc-cc/cc/cccc'
結果として得られます...
別の解決策は、一致を調べ、それに応じて置換文字列を選択するコールバック関数を使用することです。しかし、それはもはや純粋な正規表現ではありません。
>>> def replace(m):
... return "n" if m.group(0).isdigit() else "c"
...
>>> s = re.sub(r"[A-Za-z0-9]", replace, s)
>>> s
'nnnnn-ccc-nccn:cccc-nn/nn/nnnn'