MYSQL必知必会读书笔记 第九章 使用正则表达式过滤数据
来源:互联网 发布:股票质押式回购 知乎 编辑:程序博客网 时间:2024/06/05 19:44
正则与LIKE的区别 - Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符、字符串。
例如:select * from wp_posts where post_name REGEXP'hello',可以检索出列post_name中所有包含hello的行
REGEXP'.og' .是正则表达式中里一个特殊的字符。它表示匹配一个字符,因此,dog,hog,mog等等都能匹配。
注意:
关于LIKE和REGEXP的区别:LIKE匹配整个列。如果被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不会返回(当然,使用通配符除外)。而REGEXP在列值内进行匹配,如果被匹配的匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回,这时一个非常重要的差别(当然,如果适应定位符号^和$,可以实现REGEXP匹配整个列而不是列的子集)。
关于大小写的区分:MySQL中正则表达式匹配(从版本3.23.4后)不区分大小写。如果要区分大小写,应该使用BINARY关键字,如where post_name REGEXP BINARY 'Hello.000' 基本字符匹配
检索列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
0 0
- MYSQL必知必会读书笔记 第九章 使用正则表达式过滤数据
- MYSQL使用正则表达式过滤数据
- MYSQL必知必会读书笔记 第六章 过滤数据
- MYSQL必知必会读书笔记 第七章 数据过滤
- MySQL检索数据(过滤+通配符+正则表达式)
- MYSQL必知必会读书笔记 第八章 使用通配符进行过滤
- MySql通配符过滤,正则表达式过滤.
- 《正则表达式-必知必会》读书笔记
- 《正则表达式必知必会》读书笔记
- 《正则表达式必知必会》读书笔记
- Hive正则表达式对数据过滤
- 快学scala 第九章 文件和正则表达式 读书笔记及习题答案代码
- MySQL学习足迹记录07--数据过滤--用正则表达式进行检索
- MySQL数据库——用通配符和正则表达式过滤数据(一)
- MySQL数据库——用通配符和正则表达式过滤数据(二)
- mysql使用正则表达式
- 使用MySQL正则表达式
- 使用MySQL正则表达式
- C ADT 的实现
- 法国Nao机器人如何实现舞蹈同步
- OC3
- 面向对象的开发方法(总结)
- MultiDex 官方教你解决64K方法
- MYSQL必知必会读书笔记 第九章 使用正则表达式过滤数据
- 练习打字第二天!
- 受限玻尔兹曼机相关的学习资料
- C++ list
- Ubantu 下安装openssh-server中遇到的一些问题及解决方案
- 函数赋值给变量
- 异常处理基础
- java基础学习总结——java环境变量配置
- nginx系列3——nginx反向代理、动静分离、负载均衡