我正在尝试编写一个函数来解析字符串中的主题标签,并且只想显示每个唯一的主题标签一次。
我正在使用 postgres regexp_matches 函数,并尝试了各种模式组合以使其仅显示每个唯一主题标签的一个实例,但运气不佳。
假设我有一个看起来像这样的字符串:
this has #abc and also #def and another #abc and even an #bc
目前我正在使用的功能:
REGEXP_MATCHES(mystring, '(#[A-Za-z0-9_]+)', 'g')
返回
#abc
#def
#abc
#bc
我如何修改我的函数,以便它只返回不同/唯一的匹配项,并且我得到一个看起来像这样的集合?
#abc
#def
#bc
最佳答案
SELECT DISTINCT
q.hash
FROM (
SELECT
REGEXP_MATCHES(mystring, '(#[A-Za-z0-9_]+)', 'g') AS hash
FROM mytable
) q
关于regex - 仅在 PostgreSQL 中显示不同的正则表达式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58458671/