gpt4 book ai didi

regexp_matches - 错误 : invalid regular expression: quantifier operand invalid

转载 作者:行者123 更新时间:2023-11-29 12:02:34 31 4
gpt4 key购买 nike

因此,当我在 postgres 上运行 regexp_matches 时收到一条错误消息,并且无法弄清楚如何通过它。它似乎在 regex101 等 reg_exp 测试站点上运行良好,但不幸的是在实际应用时不起作用。错误信息是:

错误:正则表达式无效:量词操作数无效

select email, regexp_matches(email,'^[a-zA-Z0-9]{4}+[0-9]{6}') as pattern
from table
limit 10

这是一个相对简单的模式,在电子邮件前缀中包含 4 个字母字符和 6 个数字。也许 '^[a-zA-Z0-9]{4}+[0-9]{6}' 可能不是最好的方法?任何建议将不胜感激。非常感谢!

最佳答案

^[a-zA-Z0-9]{4}+[0-9]{6} 模式与 PostgreSQL 正则表达式引擎不兼容,因为它不支持 possessive quantifiers . {4}+ 是所有格 limiting quantifier这里匹配量化模式的 4 次出现,没有任何可能回溯到这 4 个字符。由于未使用 max 参数(即不是类似 {4,7} 的东西),{4}+ 所有格量词的作用相同方式如 {4}

使用 {4} 代替 {4}+:

select email, regexp_matches(email,'^[a-zA-Z0-9]{4}[0-9]{6}') as pattern
from table
limit 10

此外,如果模式要匹配整个记录,则在模式末尾添加$(字符串结尾) anchor :

'^[a-zA-Z0-9]{4}[0-9]{6}$'

关于regexp_matches - 错误 : invalid regular expression: quantifier operand invalid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49069904/

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