位置: 编程技术 - 正文
推荐整理分享PostgreSQL 正则表达式 常用函数的总结(pg 正则表达式),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:plsql 正则,pg 正则表达式,plsql中正则表达式,pg数据库正则表达式函数,pg数据库正则表达式函数,psql正则匹配,pg数据库正则表达式函数,pg数据库正则表达式函数,内容如对您有帮助,希望把文章链接给更多的朋友!
PostgreSQL 正则表达式 常用函数的总结
对那些需要进行复杂数据处理的程序来说,正则表达式无疑是一个非常有用的工具。本文重点在于阐述 PostgreSQL 的一些常用正则表达式函数以及源码中的一些函数。
正则相关部分的目录结构
正则表达式编译、匹配、释放、错误信息相关文件,后面再做具体介绍
内置函数实现在 regexp.c
内置函数声明:
参数类型及返回值类型:
substring(string from pattern)函数提供了从字符串中抽取一个匹配 POSIX 正则表达式模式的子字符串的方法。如果没有匹配它返回 NULL ,否则就是文本中匹配模式的那部分。
regexp_replace(source, pattern, replacement [, flags ])函数提供了将匹配 POSIX 正则表达式模式的子字符串替换为新文本的功能。
regexp_matches(string, pattern[, flags ])函数返回一个从匹配POSIX正则表达式模式中获取的所有子串结果的text数组。参数flags是一个可选的text字符串,含有0或者更多单字母标记来改变函数行为。标记g导致查找字符串中的每个匹配,而不仅是第一个,每个匹配返回一行。
regexp_split_to_table(string, pattern[, flags ])函数使用POSIX正则表达式模式作为分隔符,分隔字符串。返回结果为string。。
regexp_split_to_array (string, pattern[, flags ])函数与regexp_split_to_table行为相同,但,返回结果为text数组。
具体使用参考用户手册。
src/include/regex/regex.h
regex_t 结构体
存放编译后的正则表达式
regmatch_t 结构体
成员rm_so 存放匹配文本串在目标串中的开始位置,rm_eo 存放结束位置。通常我们以数组的形式定义一组这样的结构。
有下面几个主要的函数声明
处理正则表达式常用的函数有 pg_regcomp()、pg_regexec()、pg_regfree() 和 pg_regerror()。
一般处理步骤:编译正则表达式 pg_regcomp(),匹配正则表达式 pg_regexec(),释放正则表达式 pg_regfree()。
pg_regerror() :当执行regcomp 或者regexec 产生错误的时候,就可以调用这个函数而返回一个包含错误信息的字符串。
参数说明
flags
src/backend/utils/adt/regexp.c
选项 描述 b 剩余的正则表达式是 BR c 大小写敏感匹配(覆盖操作符类型) e 剩余的正则表达式是 ERE i 大小写不敏感匹配(覆盖操作符类型) m n的历史同义词 n 新行敏感匹 p 部分新行敏感匹配 q 重置正则表达式为一个文本("引起")字符串,所有都是普通字符。 s 非新行敏感匹配(缺省) t 紧语法 w 反转部分新行敏感("怪异")匹配 x 扩展的语法
标签: pg 正则表达式
本文链接地址:https://www.jiuchutong.com/biancheng/348699.html 转载请保留说明!友情链接: 武汉网站建设