基本字符匹配

  1. //查询mysql name中有1000的字符
  2. select * from table where name REGEXP '1000';
  3. //.匹配任意一个 字符
  4. select * from table where name REGEXP '.000';

image.png

进行OR匹配

  1. select * from table where name REGEXP '1000|2000'

image.png

匹配几个字符之一

  1. //匹配 name中 有 1 Ton || 2 Ton || 3 Ton的
  2. select * from table where name REGEXP '[123] Ton'

image.png

范围匹配

[a-z],[1-3]

  1. //匹配 name中 有 1 Ton || 2 Ton || 3 Ton || 4 Ton || 5 Ton
  2. select * from table where name REGEXP '[1-5] Ton'

匹配特殊字符

如果要找出包含.字符的值

  1. //显然这并不是期望的查询
  2. select * from table name REGEXP '.'
  3. //需要对.进行转义
  4. select * from table name REGEXP '\\.'

image.png

匹配字符类

image.png
image.png

  1. // 这条sql语句会查询出来什么? (0 stick) || (0 sticks) 依次类推 每次+1
  2. select * from table name REGEXP '\\([0-9] sticks?\\)'
  3. //匹配连在一起的4位数字
  4. select * from table name REGEXP '[[:digit:]]{4}'

image.png

定位符

image.png

如果你想找出name == 以一个数(包括以小数点开始的数)开始的所 有产品,怎么办?

  1. select * from table name REGEPX '^[0-9]\\.'