gpt4 book ai didi

regexp_replace 就像我给它一个全局标志一样,但我没有

转载 作者:行者123 更新时间:2023-11-29 11:43:20 25 4
gpt4 key购买 nike

在 PostgreSQL 中使用 regexp_replace,我开发了(在 SO 的大量帮助下)匹配前 n 个字符的模式,如果最后一个字符不在我不知道的字符列表中'希望字符串结束于.

regexp_replace(pf.long_description, '(^.{1,150}[^ -:])', '\1...')::varchar(2000)

但是,我希望它只是以省略号结束字符串。然而,我得到的是前 150 个字符加上末尾的省略号,但随后字符串一直持续到末尾。
为什么所有这些内容都没有被删除?

最佳答案

Why is all that content not being eliminated?

因为你没有要求。您已要求将前 2-151 个字符替换为相同的字符和省略号。如果您将模式修改为 (^.{1,150}[^ -:]).*(请注意尾随 .* 具有 regex_replace处理完整的字符串,而不仅仅是前缀)你应该会得到想要的效果。

关于regexp_replace 就像我给它一个全局标志一样,但我没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24518712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com