Postgresql REGEXP开头的正则函数用法图文详解

 更新时间:2024年02月21日 08:29:12   作者:今晚偷月亮的邻居  
正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串,下面这篇文章主要给大家介绍了关于Postgresql REGEXP开头的正则函数用法的相关资料,需要的朋友可以参考下

以字符串‘你好-Hello,123_世界World,456’来介绍下

REGEXP_MATCHES()、REGEXP_REPLACE()、REGEXP_SPLIT_TO_ARRAY()、REGEXP_SPLIT_TO_TABLE() 四个函数用法

REGEXP_MATCHES()

REGEXP_MATCHES()用于在文本字符串中执行正则表达式匹配,并返回匹配的结果作为数组。

--从字符串中返回的结果只有小写英文
SELECT REGEXP_MATCHES('你好-Hello,123_世界-World,456', '[a-z]+', 'g');

--从字符串中返回的结果只有大写英文
SELECT REGEXP_MATCHES('你好-Hello,123_世界-World,456', '[A-Z]+', 'g');

--从字符串中返回的结果只有英文
SELECT REGEXP_MATCHES('你好-Hello,123_世界-World,456', '[a-zA-Z]+', 'g');

REGEXP_REPLACE()

REGEXP_REPLACE()用于在文本字符串中执行正则表达式替换,并返回替换后的字符串。

--将字符串中数字替换为'*'
SELECT REGEXP_REPLACE('你好-Hello,123_世界World,456', '[0-9]', '*', 'g');

--将字符串中英文替换为'*'
SELECT REGEXP_REPLACE('你好-Hello,123_世界World,456', '[a-zA-Z]', '*', 'g');

--将字符串中汉字替换为'*'
SELECT REGEXP_REPLACE('你好-Hello,123_世界World,456', '[\u4e00-\u9fa5]', '*', 'g');

最近工作中遇到了处理字符串的问题,正好做下补充:

譬如某个字段中存在垃圾数据,数据内容应该是'abc+123'的格式,但有的数据只有一个'+',如果只用replace()替换,就可能污染了正常数据,那么就可以用REGEXP_REPLACE()

--譬如脏数据是'+',需要处理成空字符串
SELECT regexp_replace('+', '^\+$', '');

REGEXP_SPLIT_TO_ARRAY()

REGEXP_SPLIT_TO_ARRAY()用于将文本字符串按照正则表达式进行分割,并返回结果作为数组。

--以字符串中的标点符号来分割
SELECT REGEXP_SPLIT_TO_ARRAY('你好-Hello,123_世界-World,456', '[-,_]+');

REGEXP_SPLIT_TO_TABLE() 

REGEXP_SPLIT_TO_TABLE()用于将文本字符串按照正则表达式进行分割,并返回结果作为表格。

--以字符串中的标点符号来分割
SELECT REGEXP_SPLIT_TO_TABLE('你好-Hello,123_世界-World,456', '[-,_]+');

最后可以参考这篇文章学习正则表达式的语法

正则表达式的语法汇总

总结

到此这篇关于Postgresql REGEXP开头的正则函数用法的文章就介绍到这了,更多相关Postgresql REGEXP正则函数用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • postgresql如何兼容MySQL if函数

    postgresql如何兼容MySQL if函数

    这篇文章主要介绍了postgresql如何兼容MySQL if函数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 查看PostgreSQL数据库版本的方法小结

    查看PostgreSQL数据库版本的方法小结

    这篇文章主要给大家介绍了关于如何查看PostgreSQL数据库的版本,查看PostgreSQL 数据库的版本号,可用方法很多,文中介绍了三种方法,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-12-12
  • PostgreSQL表操作之表的创建及表基础语法总结

    PostgreSQL表操作之表的创建及表基础语法总结

    在PostgreSQL中创建表命令用于在任何给定的数据库中创建新表,下面这篇文章主要给大家介绍了关于PostgreSQL表操作之表的创建及表基础语法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • postgresql 利用fdw来实现不同数据库之间数据互通(推荐)

    postgresql 利用fdw来实现不同数据库之间数据互通(推荐)

    这篇文章主要介绍了postgresql 利用fdw来实现不同数据库之间数据互通,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 详解PostgreSQL 14.4安装使用及一些安装的异常问题

    详解PostgreSQL 14.4安装使用及一些安装的异常问题

    这篇文章主要介绍了PostgreSQL 14.4的安装以及使用以及一些安装的异常,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 详解PostgreSQL 表分区与继承

    详解PostgreSQL 表分区与继承

    本文将深入剖析PostgreSQL表分区与继承的实现机理,结合最新版本(16版本)的特性演进,通过大量生产级代码示例,揭示如何设计高效的分区方案、优化分区查询性能,并巧妙运用继承特性构建灵活的数据模型,感兴趣的朋友一起看看吧
    2025-04-04
  • PostgreSQL连接数过多的原因分析与连接池方案

    PostgreSQL连接数过多的原因分析与连接池方案

    在 PostgreSQL 的生产运维中,连接数过多是最常见且影响深远的性能问题之一,本文将系统性地剖析 连接数过多的根本原因,详解 PostgreSQL 连接机制与资源开销,并对比主流 连接池方案的原理、配置与适用场景,需要的朋友可以参考下
    2026-02-02
  • 浅谈PostgreSQL中的孤儿文件用法(orphaned data files)

    浅谈PostgreSQL中的孤儿文件用法(orphaned data files)

    这篇文章主要介绍了浅谈PostgreSQL中的孤儿文件用法(orphaned data files),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL数据库中to_timestamp函数用法示例

    PostgreSQL数据库中to_timestamp函数用法示例

    PostgreSQL 的 to_timestamp 函数可以将字符串或整数转换为时间戳,这篇文章主要介绍了PostgreSQL数据库中to_timestamp函数用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-08-08
  • PostgreSQL教程(十九):SQL语言函数

    PostgreSQL教程(十九):SQL语言函数

    这篇文章主要介绍了PostgreSQL教程(十九):SQL语言函数,本文讲解了SQL语言函数基本概念、基本类型、复合类型、带输出参数的函数、返回结果作为表数据源等内容,需要的朋友可以参考下
    2015-05-05

最新评论