mysql正则表达式匹配非_MySQL的正则表达式

1.  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'

2.关于OR匹配

为了搜索两个串之一,使用|, 如,select * from products where pro_id REGEXP '1000|2000'  ORDER BY pro_id;

这样就1000和2000都能匹配并返回,当然,使用多个|就可以匹配多个串

3.只是匹配几个字符[]

例如,这样将要匹配&

你可能感兴趣的:(mysql正则表达式匹配非)