用java正则表达式替换字符串中偶数次出现的子串?解决办法

用java正则表达式替换字符串中偶数次出现的子串???
例如,对于String s = "axbxcxdxexfx.....", 如何用java正则表达式把偶数次出现的x替换成y呢?如果是指定替换第k次出现的x呢?
可能x不是是间隔出现的。
求解!
------解决方案--------------------
1、直接遍历字符串赶脚还容易点
2、非要正则的话可以以两个字符切割,得到ax,bx,cx,xx......正则替换后再拼接起来