我试图用街头替换街道,只有街道没有任何字母后面。如果在街道之后有字母字符或字符串结尾,则允许替换。Postgresql regexp_replace负向预测不起作用
我想在Postgresql 9.5 regex_replace函数中实现这个。示例查询我写道:这里
select regexp_replace('super streetcom','street(?!=[a-z])','st');
街道不应该被替换ST,因为街道后面是“C”。所以预期的输出是'超级街道',但我得到的输出是'超级stcom'。
任何帮助为什么我得到意想不到的输出和什么可以是正确的方式来实现预期的结果。
你确定'(?!= pattern)'是postgresql中正确的负向超前语法吗? Usualy它只是'(?!模式)' –
哦..发现我的错误。负面看起来应该是(?!模式)。谢谢@SebastianProske – Bhindi