PostgreSQL 提取字符串中正则匹配内容 - 示例与技巧
在 PostgreSQL 中,可以使用 regexp_matches() 函数提取字符串中正则匹配到的内容。以下是一个示例查询:
SELECT (regexp_matches('abc.ABCSXEES123', '[0-9a-z]+'))[1] AS extracted_string;
这将返回匹配到的第一个字符串,即 'abc123'。
解释:
regexp_matches()函数用于在字符串中匹配正则表达式,并返回一个匹配数组。'[0-9a-z]+'是正则表达式,用于匹配连续的小写字母和数字。(regexp_matches('abc.ABCSXEES123', '[0-9a-z]+'))[1]是提取匹配数组中的第一个元素,即提取出的字符串。
请注意,如果你需要匹配多个字符串,可以使用 regexp_matches() 的 g 标志。例如:
SELECT unnest(regexp_matches('abc.ABCSXEES123', '[0-9a-z]+', 'g')) AS extracted_string;
这将返回所有匹配到的字符串,即 'abc' 和 '123'。
原文地址: https://www.cveoy.top/t/topic/pHPs 著作权归作者所有。请勿转载和采集!