在postgres查询的上下文中,这个 -
lower(regexp_replace('If...', '[^\w\s]', ''))
给了我这个 -
'if..'
(引用我的)
如您所见,三个时段中只有一个被修剪。有人能告诉我我必须添加到我的正则表达式中去除其他两个或任何其他可能以这种方式落后的特殊字符吗?
答案 0 :(得分:9)
您可能正在寻找regexp_replace()
的第四个可选参数:
SELECT regexp_replace('If...', '[^\w\s]', '', 'g');
g
..用于“全局”,即替换字符串中的每个匹配,而不仅仅是第一个匹配。