我尝试运行以下查询:
select * from table where regexp_like('^{{', text_field)
并有以下错误:
数量太大,无法重复范围
认为regexp_like
可能会使重复计数运算符混淆{
,我也尝试了以下变体:
select * from table where regexp_like('^{{', text_field)
select * from table where regexp_like('^[{][{]', text_field)
select * from table where regexp_like('^[[:punct:]]{2}', text_field)
什么都没有。目前,text_field like '{{'
就足够了,但我可能想包括一个更灵活的版本,需要正则表达式。我的方法怎么了?此错误消息是什么意思?
您以错误的方式使用prestodb regex_like函数:
regexp_like(string, pattern)
评估正则表达模式并确定是否是 包含在字符串中。此功能类似于类似 操作员,期望该模式只需要包含 字符串,而不是需要匹配所有字符串。换句话说, 这执行包含操作而不是匹配操作。你 可以使用 ^和$:
锚定图案来匹配整个字符串
SELECT regexp_like('1a 2b 14m', 'd+b'); -- true