SELECT regexp_matches('abc', '[0-9] *');
上面的查询返回text[]
并需要检查,是否发现任何(我不关心哪些)匹配或没有。
所以在上面的情况下,我得到{""}
,我怎么能得到“布尔”值,它告诉我它是否匹配什么东西?
这似乎不起作用:
SELECT regexp_matches('abc','[0-9] *') ='{}';
答案 0 :(得分:4)
使用~
operator:
SELECT 'abc' ~ '[0-9]*';
或者,你可以拉出第一个这样的项目:
SELECT (regexp_matches('abc', '[0-9]*'))[1] = ''; -- True if it didn't match
请注意额外的括号,并且数组从1开始编制索引。