手机版

MYSQL使用正则表达式过滤数据

时间:2021-11-01 来源:互联网 编辑:宝哥软件园 浏览:

第一,正则和LIKE的区别Mysql的正则表达式只做了sql语言的一个子集,可以匹配基本的字符和字符串。例如,从WP _ posts中选择*其中post_name正则表达式为“hello”,这可以检索post _ name列中包含hello的所有行。

' REGEXP '。og。是正则表达式中的特殊字符。意思是匹配一个角色,所以狗,猪,mog等等都可以匹配。

注意:

关于LIKE和REGEXP的区别:LIKE匹配整列。如果匹配的文本只出现在列值中,LIKE将找不到它,相应的行也不会返回(当然使用通配符除外)。当REGEXP在列值中匹配时,如果匹配的文本出现在列值中,REGEXP会找到它并返回相应的行,这是一个非常重要的区别(当然,如果调整定位符号和$的话,REGEXP可以匹配整个列,而不是列的子集)。

区分大小写:MySQL中的正则表达式匹配(3.23.4版之后)不区分大小写。为了区分大小写,您应该使用BINARY关键字,例如where post _ name regexp BInary ' hello . 000 '。

第二,基本字符匹配搜索列prod_name包含所有文本行1000:

“或”匹配相当于:或操作“|”。

匹配几个字符中的一个只希望匹配一个特定的字符。您可以通过指定一组用[和]括起来的字符来实现这一点。

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

匹配特殊字符。

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

在正则表达式中,它意味着匹配任何一个字符。

匹配prod_name中包含on字符串的行,例如:

那怎么搭配。 [], |,-?

为了匹配特殊字符,\必须用作前导字符。例如,\。意味着搜索。

匹配字符类

匹配多个实例。

例如,匹配连接在一起的4个数字:

棍子?3360年代以后?让s可选,因为?匹配紧接在其之前的任何字符的0或1个匹配项。

[:digit:]匹配任何数字,因此它是数字的集合。{4}要求其前面的字符精确出现4次。因此,[:digit:]{4}匹配连接在一起的任何4位数字。

3.定位器到目前为止,所有示例都匹配字符串中的任何文本。为了匹配特定的文本,您需要使用定位器。

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

选择测试正则表达式,正则表达式检查总是返回0或1,

选择“hello”正则表达式“0”//返回0。

以上就是本文的全部内容,希望对大家的学习有所帮助。

版权声明:MYSQL使用正则表达式过滤数据是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。