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