regex - 从 regexp_matches 中检索结果作为一行

标签 regex postgresql

所以,如果有这个字符串 aassdd

这段代码:

regexp_matches('aassdd', 'a', 'g')

返回 2 个不同的行。

是否可以将所有匹配项检索为一行?例如 array 类型为一行,即来自上面的代码,需要的结果是:{a,a}

最佳答案

regexp_matches() 返回一个集合而不是一个标量这一事实是可以理解的,但仍然有些烦人。

我发现的唯一解决方法是这个有点难看的查询:

select array_agg(i)
from (
   select (regexp_matches('aassdd', 'a', 'g'))[1] i 
)  t

关于regex - 从 regexp_matches 中检索结果作为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16609554/

相关文章:

c# - 使用正则表达式读入文件?

postgresql - 无法在 WSL Ubuntu 上启动 postgresql

php - MySQL 到 PostgreSQL 编码问题

c# - 需要正则表达式模式来捕获公式片段

Python 3 删除文件字符串的一部分

c# - asp.net core 2.0身份 Entity Framework 用户未保存

sql - 使用 postgres rank 函数来限制前 n 个结果

python - 在 Django 框架中使用动态模型

javascript - 正则表达式不适用于某些字符串

ruby - block 缩进正则表达式