位置: 编程技术 - 正文

MYSQL使用正则表达式过滤数据(mysql replace正则表达式)

编辑:rootadmin

推荐整理分享MYSQL使用正则表达式过滤数据(mysql replace正则表达式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql正则匹配数字,MySQL使用正则表达式匹配字符串,mysql中使用正则表达式,MySQL使用正则表达式匹配字符串,MySQL使用正则表达式,mysql中使用正则表达式,MySQL使用正则表达式,mysql中使用正则表达式,内容如对您有帮助,希望把文章链接给更多的朋友!

一、正则与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..4后)不区分大小写。如果要区分大小写,应该使用BINARY关键字,如where post_name REGEXP BINARY 'Hello.'

二、基本字符匹配检索列prod_name 包含文本的所有行:

进行OR匹配相当于:或操作 “|”

匹配几个字符之一只想匹配特定的字符。 可以通过指定一组用[和]括起来的字符来完成。

[]定义了一组字符,他的意思是匹配4或5或6. []是另一种形式的OR语句。[]是[4|5|6]的缩写。匹配范围[1-3] a-z都是合法的范围

匹配特殊字符

正则表达式语言由特殊含义的特殊字符构成。

. 在正则表达式中表示匹配任何一个字符

MYSQL使用正则表达式过滤数据(mysql replace正则表达式)

比如匹配prod_name中包括on字符串的行:

那如何匹配.,[],|,-?

为了匹配特殊字符,必须用\为前导。 比如\.表示查找·

匹配字符类

匹配多个实例

再比如 匹配连在一起的4位数字:

sticks&#; : s后的?使s可选,因为?匹配它前面紧跟的任何字符的0次或者1次出现。

[:digit:]匹配任意数字,因而它为数字的一个集合。{4}确切地要求它前面的字符出现4次。所以[:digit:]{4}匹配连在一起的任意4位数字。

三、定位符目前为止所有例子都是匹配一个串中任意为止的文本。为了匹配特定为止的文本,需要使用定位符。

也可以在不使用数据库的情况下测试正则表达式的正确性:

SELECT 来测试正则表达式,REGEXP检查总是返回0或1,

SELECT 'HELLO‘ REGEXP '0‘//返回为0

本文链接地址:https://www.jiuchutong.com/biancheng/347202.html 转载请保留说明!

上一篇:逐步讲解MySQL中定时事件计划的创建(mysql -ne)

下一篇:MYSQL必知必会读书笔记 第一章(基础)(mysql必知必会读书心得)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络