MYSQL使用正则表达式过滤数据
2019/6/30 18:34:01
本文主要是介绍MYSQL使用正则表达式过滤数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、正则与LIKE的区别
Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符、字符串。
例如:select * from wp_posts where post_name REGEXP'hello',可以检索出列post_name中所有包含hello的行
REGEXP'.og'
注意:
二、基本字符匹配
检索列prod_name 包含文本1000的所有行:
进行OR匹配
相当于:或操作 “|”
匹配几个字符之一
只想匹配特定的字符。 可以通过指定一组用[
和]
括起来的字符来完成。
[456]
定义了一组字符,他的意思是匹配4或5或6. []
是另一种形式的OR语句。[456]
是[4|5|6]
的缩写。匹配范围
[1-3]
a-z
都是合法的范围
匹配特殊字符
正则表达式语言由特殊含义的特殊字符构成。
.
在正则表达式中表示匹配任何一个字符
比如匹配prod_name中包括on
字符串的行:
那如何匹配.
,[]
,|
,-
?
为了匹配特殊字符,必须用\\
为前导。 比如\\.
表示查找·
匹配字符类
匹配多个实例
再比如 匹配连在一起的4位数字:
sticks?
: s
后的?
使s可选,因为?
匹配它前面紧跟的任何字符的0次或者1次出现。
[:digit:]
匹配任意数字,因而它为数字的一个集合。{4}
确切地要求它前面的字符出现4次。
所以[:digit:]{4}
匹配连在一起的任意4位数字。
三、定位符
目前为止所有例子都是匹配一个串中任意为止的文本。为了匹配特定为止的文本,需要使用定位符。
也可以在不使用数据库的情况下测试正则表达式的正确性:
SELECT 来测试正则表达式,REGEXP检查总是返回0或1,
SELECT 'HELLO‘ REGEXP '0‘//返回为0
以上就是本文的全部内容,希望对大家的学习有所帮助。
这篇关于MYSQL使用正则表达式过滤数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20部署MySQL集群入门:新手必读指南
- 2024-11-20部署MySQL集群教程:初学者指南
- 2024-11-20部署MySQL集群项目实战:新手教程
- 2024-11-20部署MySQL集群资料:新手入门教程
- 2024-11-20MySQL集群部署教程:入门级详解
- 2024-11-20MySQL集群教程:入门与实践指南
- 2024-11-20部署MySQL集群教程:新手入门指南
- 2024-11-20MySQL读写分离教程:轻松入门
- 2024-11-20部署MySQL集群入门:一步一步搭建你的数据库集群
- 2024-11-19部署MySQL集群学习:入门教程