//Z#~Z C#~C B#~B T#~T E#~E P#~P S#~S如果两边没有单引号,则加入单引号
result.replaceAll("((?<!')([ZCBTESP])#.+?~\\2(?!'))", " '$1' ");
用例
R#case when '信息采集→月工作时间'>100 AND '信息采集→个人销售额'<='门店人均' then case when '信息采集→目标'=0 then C#0~C else T#信息采集.业绩~T/T#信息采集.目标~T end else C#0~C end~R
((S#PAY~S+S#特殊补贴~S)/(C#21.75~C*C#8~C)*C#1.5~C)*S#加班时间~S+((S#PAY~S+S#特殊补贴~S)/(C#21.75~C*C#8~C)*C#3~C)*T#信息采集.节日加班时间~T