Snowflake cloud data platform 雪花特殊字符解析问题搜索解决方案

Snowflake cloud data platform 雪花特殊字符解析问题搜索解决方案,snowflake-cloud-data-platform,snowflake-schema,Snowflake Cloud Data Platform,Snowflake Schema,我有一个名为question的字段名,该字段中的值是您如何看待${question_1} 我想写一个查询来选择这个值,我想它将使用正则表达式来实现。下面是查询,但没有得到结果,有人能帮我吗?谢谢 select question from "<table_name>" where question regexp '.*\s[${].*\s[}?].*'; 您的正则表达式在此处不正确。请记住,.*和.+等模式匹配器将匹配比您预期更多的字符类型。此外,正则表达式中的[

我有一个名为question的字段名,该字段中的值是您如何看待${question_1}

我想写一个查询来选择这个值,我想它将使用正则表达式来实现。下面是查询,但没有得到结果,有人能帮我吗?谢谢

select question
from "<table_name>"
where question regexp '.*\s[${].*\s[}?].*';

您的正则表达式在此处不正确。请记住,.*和.+等模式匹配器将匹配比您预期更多的字符类型。此外,正则表达式中的[${]和[}?]括号表达式表示匹配$or{,and}或?分别,这不是您打算执行的

如果您的目标仅仅是找到符合下表的所有文本:

Does every question end with a question-mark immediately after the ${variable}?
然后,雪花SQL中适合它的模式可能是:

选择问题 从…起 其中问题regexp'.*\\$\{[^${}]+\\\\\\\\\\\?$; 请注意\\$、\\{等不允许将$和{as作为简单字符处理,以及使用倒括号表达式[^${}],一旦匹配器在潜在变量中搜索,它将接受除字符$、{或}以外的任何内容

末尾的额外$指令仅用于筛选始终以问号结尾的文本,如果问号不是每次在数据中终止字符串,则可以删除该指令

如果可以存在多个变量,则可以扩展此功能以匹配和/或捕获多个变量:

选择 问题 ,regexp\u substrquestion,'\\$\{[^${}]+\}',1,1变量\u 1 ,regexp\u substrquestion,'\\$\{[^${}]+\}',1,2变量\u 2 从…起 其中问题regexp.*\\$\{[^${}]+\}.\\\?.' 上述内容也适用于问题字符串,例如:

Does this question ${carry} two ${variables}?
我建议您在诸如等网站上构建并理解自己的正则表达式模式以进行测试,这样做会更容易