これが、正規表現で実行したい変換の表です。
From To
================
CAT CAT
EGG EGG
A A
Z Z
AA ZA
BB ZB
ZZ ZZ
AAA ZZA
HHHHH ZZZZH
つまり、文字列が2回以上繰り返される同じ文字である場合、最後の文字を除くすべての文字をZに置き換えたいと思います。
私はここで精神的にブロックされています。これは私がこれまでに思いついたものであり、機能しません。
FIND: ^(?<=\1*?)([A-Z])(?=\1+)$
REPLACE: Z
キャプチャグループの前に後方参照を使用できるかどうかはわかりませんが、どちらにしても、最初の参照をに置き換えても\1
効果.
はありません。
私はC#を使用しているので、.NETスタイルの正規表現を探しています。もちろん、通常の文字列操作でこれを行うこともできますが、ビジネスケース固有の正規表現を使用する必要があります。