这是我想在正则表达式中进行的转换的表格:
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 风格的正则表达式。我当然可以通过正常的字符串操作来做到这一点,但我有一个特定于业务案例的需要使用正则表达式。