如何用ruby中的正则表达式替换字符
如何在重复字母’a’基础上更换2次后,将字母’b’替换为’c’? 例如 :
ab => ab aab => aac aaab => aaab aaaab => aaaac aaaabaaabaab => aaacaabaac
您应该检查aa
组,然后检查b
,然后相应地替换捕获的组。
正则表达式: (?
说明:
(?检查是否存在奇数
a
。 如果目前整场比赛失败。
((?:a{2})+)b
捕获偶数个a
后跟b
。 外部组被捕获并编号为\1
。
替换: \1c
即首先捕获的组,然后是c
。
测试字符串:
ab aab aaab aaaab aaaabaaabaab
更换后:
ab aac aaab aaaac aaaacaaabaac
Regex101演示