在 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'

postgresql如何提取字符串中正则匹配到的内容? 如:select abcABCSXEES123正则为0-9a-z只想把abc123提取出来。

原文地址: https://www.cveoy.top/t/topic/hYHQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录