1.正则表达式运算符
expression NOT REGEXP pattern, expression NOT RLIKE pattern
expression REGEXP pattern, expression RLIKE pattern
如果表达式expression匹配给定模式pattern返回1,否则返回0.
如果表达式expression或者模式pattern为NULL,则返回NULL
RLIKE和REGEXP一样.
2. 正则表达式语法
^
匹配字符串开始
mysql> SELECT 'fonfo' REGEXP '^fo$'; -> 0
mysql> SELECT 'fofo' REGEXP '^fo'; -> 1
$
匹配字服务器托管网符串结束
mysql> SELECT 'fono' REGEXP '^fono$'; -> 1
mysql> SELECT 'fono' REGEXP '^fo$'; -> 0
.
匹配任意一个字符 (包括回车和换行符)
mysql> SELECT 'fofo' REGEXP '^f.*$'; -> 1
mysql> SELECT 'fornfo' REGEXP '^f.*$'; -> 1
a*
匹配零个或者多个字符a
mysql> SELECT 'Ban' REGEXP '^Ba*n'; -> 1
mysql> SELECT 'Baaan' REGEXP '^Ba*n'; -> 1
mysql> SELECT 'Bn' REGEXP '^Ba*n'; -> 1
a+
匹配一个或者多个字符a
mysql> SELECT 'Ban' REGEXP '^Ba+n'; -> 1
mysql> SELECT 'Bn' REGEXP '^Ba+n'; ->服务器托管网 0
a?
匹配零个或者一个字符a
mysql> SELECT 'Bn' REGEXP '^Ba?n'; -> 1
mysql> SELECT 'Ban' REGEXP '^Ba?n'; -> 1
mysql> SELECT 'Baan' REGEXP '^Ba?n'; -> 0
de|abc
匹配de或者abc
mysql> SELECT 'pi' REGEXP 'pi|apa'; -> 1
mysql> SELECT 'axe' REGEXP 'pi|apa'; -> 0
mysql> SELECT 'apa' REGEXP 'pi|apa'; -> 1
mysql> SELECT 'apa' REGEXP '^(pi|apa)$'; -> 1
mysql> SELECT 'pi' REGEXP '^(pi|apa)$'; -> 1
mysql> SELECT 'pix' REGEXP '^(pi|apa)$'; -> 0
(abc)*
匹配零个或者多个abc
mysql> SELECT 'pi' REGEXP '^(pi)*$'; -> 1
mysql> SELECT 'pipi' REGEXP '^(pi)*$'; -> 1
mysql> SELECT 'pipipi' REGEXP '^(pi)*$'; -> 1
mysql> SELECT 'pipipx' REGEXP '^(pi)*$'; -> 0
{1}, {2,3}
{n}和{m,n}符号提供了更加一般性的多种情况匹配的正则表达式规则,其中m和n都是整数
a*可以写为a{0,}
a+可以写为a{1,}
a?可以写为a{0,1}
具体来讲,a{n}匹配恰好n个字符a,a{n,}匹配n个或者多个字符a,a{m,n}匹配m到n个字符a,包括n个字符a。如果同时给出m和n,则m必须小于或等于n。
mysql> SELECT 'abcde' REGEXP 'a[bcd]{2}e'; -> 0
mysql> SELECT 'abcde' REGEXP 'a[bcd]{3}e'; -> 1
mysql> SELECT 'abcde' REGEXP 'a[bcd]{1,10}e'; -> 1
[a-dX], [^a-dX]
匹配在/不在[a,b,c,d,X]内的任意字符
注意:此处[^a-dX]表示不在[a,b,c,d,X]内的任意字符,注意与^区分
mysql> SELECT 'aXbc' REGEXP '[a-dXYZ]'; -> 1
mysql> SELECT 'aXbc' REGEXP '^[a-dXYZ]$'; -> 0
mysql> SELECT 'aXbc' REGEXP '^[a-dXYZ]+$'; -> 1
mysql> SELECT 'aXbc' REGEXP '^[^a-dXYZ]+$'; -> 0
mysql> SELECT 'gheis' REGEXP '^[^a-dXYZ]+$'; -> 1
mysql> SELECT 'gheisa' REGEXP '^[^a-dXYZ]+$'; -> 0
[.多个字符.]
SQL中允许的字符匹配有一张【名称-字符】映射表,不常见的字符匹配都可以在这里找到
网址为https://dev.mysql.com/doc/refman/5.7/en/regexp.html#regexp-operators
举几个例子:
1. 匹配换行
mysql> SELECT 'newlinennewline' REGEXP '[[.newline.]]';
mysql> SELECT 'newlinennewline' REGEXP '[[.n.]]';
2. 匹配回车
mysql> SELECT 'entertenter' REGEXP '[[.carriage-return.]]';
mysql> SELECT 'entertenter' REGEXP '[[.r.]]';
3. 匹配Tab键
mysql> SELECT 'tabntab' REGEXP '[[.tab.]]';
mysql> SELECT 'tabntab' REGEXP '[[.t.]]';
4. 匹配&符号
mysql> SELECT 'https://www.baidu.com/s?tn=hao_pg&ie=utf-8' REGEXP '[[.ampersand.]]';
mysql> SELECT 'https://www.baidu.com/s?tn=hao_pg&ie=utf-8' REGEXP '[[.&.]]';
5. 匹配?符号
mysql> SELECT 'https://www.baidu.com/s?tn=hao_pg&ie=utf-8' REGEXP '[[.question-mark.]]';
mysql> SELECT 'https://www.baidu.com/s?tn=hao_pg&ie=utf-8' REGEXP '[[.n.]]';
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
考证是一种强制的系统化学习,通过反复的理论学习,可以帮助大家迅速成长起来,有领悟能力较强者,甚至可结合工作生活中的经验和经历,达到个人业务能力的提升。 两个同样能力的人,如果你有更多的证书,或者学历更高,会更加受青睐。既然这样,让我们一起来了解下有关产品经理必…