MySQL中使用正则表达式

使用关键字 REGEXP

基本字符匹配

查找prod_name中包含1000的记录

SELECT prod_name FROM products WHERE prod_name REGEXP '1000' ORDER BY prod_name;

使用通配符

使用.匹配一个字符

查找prod_name中包含000的记录

SELECT prod_name FROM products WHERE prod_name REGEXP '.000' ORDER BY prod_name;

匹配区分大小写

MySQL中正则表达式匹配不区分大小写,为区分大小写可使用BINARY关键字

SELECT prod_name FROM products WHERE prod_name REGEXP BINARY 'JetPack .000' ORDER BY prod_name;

进行OR匹配

查找prod_name中包含1000或2000的记录。

SELECT prod_name FROM products WHERE prod_name REGEXP '1000|2000' ORDER BY prod_name;

匹配几个字符之一

查找prod_name中包含1 Ton或2 Ton 或3 Ton的记录

SELECT prod_name FROM products WHERE prod_name REGEXP '[123] Ton' ORDER BY prod_name;

[^123] Ton匹配除[]中这些字符外的任何东西,跟[123]正好相反。

匹配范围

匹配数字0-9,写为[0123456789],为简化可写完[0-9]

SELECT prod_name FROM products WHERE prod_name REGEXP '[0-9] Ton' ORDER BY prod_name;

转义

匹配 .[]|-等。

匹配prod_name包含.的记录

SELECT prod_name FROM products WHERE prod_name REGEXP '\\.' ORDER BY prod_name;

引用元字符

使用\\引用元字符

匹配字符类

匹配多个实例

定位符

posted @ 2020-10-19 14:57  _大可乐  阅读(807)  评论(0编辑  收藏  举报