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设置id自增的基本方法举例

    postgresql设置id自增的基本方法举例

    这篇文章主要给大家介绍了关于postgresql设置id自增的基本方法,自增字段主要用于实现自增主键或生成唯一版本号,文中通过代码以及图文介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • postgreSQL数据库的监控及数据维护操作

    postgreSQL数据库的监控及数据维护操作

    这篇文章主要介绍了postgreSQL数据库的监控及数据维护操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL入门简介

    PostgreSQL入门简介

    PostgreSQL是一个免费的对象-关系型数据库服务器(ORDBMS),遵循灵活的开源协议BSD。这篇文章主要介绍了PostgreSQL入门简介,需要的朋友可以参考下
    2020-12-12
  • postgresql影子用户实践场景分析

    postgresql影子用户实践场景分析

    这篇文章主要介绍了postgresql影子用户实践场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Ruoyi从mysql切换到postgresql的几个踩坑实战

    Ruoyi从mysql切换到postgresql的几个踩坑实战

    最近由于工作的原因,需要将Ruoyi从mysql切换到postgresql,所以这篇文章主要给大家介绍了关于Ruoyi从mysql切换到postgresql的几个踩坑实战,需要的朋友可以参考下
    2023-02-02
  • PostGIS的安装与入门使用指南

    PostGIS的安装与入门使用指南

    在安装PostGIS前首先必须安装PostgreSQL,然后再安装好的Stack Builder中选择安装PostGIS组件。本文重点给大家介绍PostGIS的安装与入门使用指南,感兴趣的朋友一起看看吧
    2022-01-01
  • Postgresql的pl/pgql使用操作--将多条执行语句作为一个事务

    Postgresql的pl/pgql使用操作--将多条执行语句作为一个事务

    这篇文章主要介绍了Postgresql的pl/pgql使用操作--将多条执行语句作为一个事务,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL COALESCE使用方法代码解析

    PostgreSQL COALESCE使用方法代码解析

    这篇文章主要介绍了PostgreSQL COALESCE使用方法代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • PostgreSQL HOT与PHOT有哪些区别

    PostgreSQL HOT与PHOT有哪些区别

    这篇文章主要介绍了PostgreSQL8.3版本开始就引入的HOT机制与PHOT使用区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • 用一整天的时间安装postgreSQL  NTFS权限

    用一整天的时间安装postgreSQL NTFS权限

    看标题貌似一天的收获不小,但实际上是被一个问题搞的要死,啥问题?额,又是NTFS权限的问题。
    2009-08-08

最新评论