在postgresql中使用正则表达式时需要使用关键字“~”,以表示该关键字之前的内容需匹配之后的正则表达式,若匹配规则不需要区分大小写,可以使用组合关键字“~*”;

相反,若需要查询不匹配这则表达式的记录,只需在该关键字前加否定关键字“!”即可。若正则表达式包含转义字符,则需在表达式前加关键字“E”。

例如:

  1. select * from user where email ~ '^[A-H]' --匹配email地址以A-H开头的记录

  2. select * from user where email ~* '^[a-h]' --匹配email地址以A-H和a-h开头的记录

LIKE 模式匹配总是覆盖整个字串。 要匹配在字串内部任何位置的序列,该模式必须以百分号开头和结尾。
LIKE运算符也可以匹配指定的字符串,但与~不同,LIKE匹配的字符串如果在文本中间出现,则找不到它,相应的行也不会返回。而~在文本进行匹配,如果被匹配的字符串在文本中出现,~将会找到它,相应的行会被返回。
Table 正则表达式匹配操作符(注意:~相当于like)
操作符 描述 例子
~ 匹配正则表达式,大小写相关 'thomas' ~ '.*thomas.*'
~* 匹配正则表达式,大小写无关 'thomas' ~* '.*Thomas.*'
!~ 不匹配正则表达式,大小写相关 'thomas' !~ '.*Thomas.*'
!~* 不匹配正则表达式,大小写无关 'thomas' !~* '.*vadim.*'

正则表达式量词

量词 匹配
* 一个匹配 0 或者更多个原子的序列
+ 一个匹配 1 或者更多个原子的序列
? 一个匹配 0 个或者 1 个原子的序列
{m} 一个正好匹配 m 个原子的序列
{m,} 一个匹配m 个或者更多原子的序列
{m,n} 一个匹配 m 到 n 个(包含两端) 原子的序列;m 不能比 n 大
*? * 的非贪婪模式
+? + 的非贪婪模式
?? ? 的非贪婪模式
{m}? {m} 的非贪婪模式
{m,}? {m,} 的非贪婪模式
{m,n}? {m,n} 的非贪婪模式

{...} 的形式被称作范围。 一个范围内的数字 m 和 n 都是无符号十进制整数, 允许的数值从 0 到 255(闭区间)。

 正则表达式约束

约束 描述
^ 匹配字串的开头
$ 匹配字串的结尾
(?=re) 正前瞻 匹配任何匹配 re 的 子字串起始点(只在 ARE 中有)
(?!re) 负前瞻 匹配任何不匹配 re 的子字串的起始点。(只在 ARE 中有)

postSQL 正则表达式与like使用相关推荐

  1. 通过正则表达式校验手机号码,拿走即用!

    校验手机号码 2021/01/06更新,电信新增了191号段 1. 单纯校验长度 2.正则表达式校验数字 3.正则表达式校验是否是大陆号码 4.正则表达式校验是否是香港号码 //校验长度private ...

  2. Linux shell 学习笔记(15)— shell 正则表达式

    1. 定义 BRE 模式 1.1 纯文本 第一条原则就是:正则表达式模式都区分大小写.这意味着它们只会匹配大小写也相符的模式. $ echo "This is a test" | ...

  3. re2正则表达式匹配引擎的c接口版本cre2的中文使用手册

    前言 re2 官方地址: https://github.com/google/re2 cre2 官方地址: https://github.com/marcomaggi/cre2 1 基本类型定义 不透 ...

  4. 正则表达式(括号)、[中括号]、{大括号}的区别小结

    正则表达式(括号).[中括号].{大括号}的区别小结 </h1><div class="clear"></div><div class=& ...

  5. Python中正则表达式用法 重点格式以这个为准_首看_各种问题

    20210811 https://www.jb51.net/article/101258.htm 一.惰性模式的概念: 此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如: va ...

  6. 正则语法完全正则表达式手册_语法格式重点

    20211202 https://blog.csdn.net/lc11535/article/details/103266263 该表达式打开re.U(re.UNICODE)标志. python –& ...

  7. 正则表达式 - 语法

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. 例如: r ...

  8. 正则表达式中的\.表示什么意思

    \ 这是引用符,用来将这里列出的这些元字符当作普通的字符来进行匹配.例如正则表达式\$被用来匹配美元符号,而不是行尾,类似的,正则表达式\.用来匹配点字符,而不是任何字符的通配符.

  9. ?:在正则表达式中什么意思

    "?:"非获取匹配,匹配冒号后的内容但不获取匹配结果,不进行存储供以后使用. 单独的"?":匹配前面的子表达式零次或一次. 当"?"紧跟在任 ...

  10. 关于正则表达式 \1 \2之类的问题

    我们创建一个正则表达式 var RegExp = /^(123)(456)\2\1$/; 这个正则表达式匹配到的字符串就是 123456456123 创建另外第二正则表达式 var RegExp1 = ...

最新文章

  1. layui ajax流加载,layui中流加载layui.flow
  2. 准备战争“软测试”之DB基础知识
  3. 八、pyqt5按钮类控件——QPushButton、QRadioButton、QCheckBox
  4. 关于redis性能估算的小方法
  5. 我用 PyTorch 复现了 LeNet-5 神经网络(CIFAR10 数据集篇)!
  6. proxool配置多数据库多连接池
  7. Spring Data JPA 从入门到精通~事务的处理及其讲解
  8. linux 卸载lv,Linux系统LVM(逻辑卷管理)的删除
  9. -分类数组-创建//修改(添加/改变原有/合并/删除)分类数组(categorical)
  10. 2016年 企业IT管理员需要做好这些准备
  11. 什么是NoSQL及NoSQL四大分类
  12. 在centos7环境下运行.exe文件
  13. android 沙盒双开 微信,微信双开回来了,还不会被封号
  14. PlantUML——程序员画架构图都靠它
  15. 【报错】CUDA error: device-side assert triggered
  16. php货币2019年12月31日汇率,2020年12月31日中国银行外汇汇率是多少,人民币汇率一览...
  17. android 程序颜色,android – 以编程方式设置scrim颜色
  18. 云产研见客户的行为分析
  19. 小米笔记本重装系统后触摸板失灵 的原因之一
  20. mixins的实用案例和常见问题

热门文章

  1. Drool规则引擎入门实例
  2. 全志 Allwinner V3S 开发环境搭建 (二)安装必要工具
  3. DSOFramer 控件修改成功
  4. NBU 备份 SAP HANA
  5. c语言中函数的知识点总结,c语言函数知识点总结
  6. Nb iot php_nb-lot技术的特点是什么?
  7. 大学入学计算机基础知识试题,大学计算机基础知识试题及答案
  8. CSRF跨站点伪造请求攻击——脱库及密码修改
  9. 数学建模系列-优化模型---(一)规划模型
  10. kettle的mysql驱动应该放哪里_MySQL数据库之kettle 安装mysql 驱动