您的位置:首页 >> 数据库 >> MySQL >> 正文
MySQL RSS
 

MySql正则表达式的描述

http://www.rdxx.com 05年04月29日 00:00 未知 我要投稿

标签: 正则表达式 , MySQL , SQL , , 正则
 

正则表达式(regex)是定义复杂查询的一个强有力的工具。
这里是一个简单的资料,它忽略了一些详细的信息。
正则表达式定义了一个字符串的规则。最简单的正则表达式不包含任何保留字。例如,

正则表达式hello只和字符串“hello”匹配。
一般的正则表达式使用了某些特殊的结构,所以它能匹配更多的字符串。例如,正则
表达式hello|word既能匹配字符串“hello”也能匹配字符串“word”。
举一个更复杂一点的例子,正则表达式B[an]*s可以匹配字符串“Bananas”、“Baaaaa
s”
、“Bs”以及其他任何以B开头以s结尾的字符串,中间可以包括任意个a和任意个n的组
合。
一个正则表达式中的可以使用以下保留字
^
所匹配的字符串以后面的字符串开头
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 "fonfo" 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(表示匹配)

9 7 3 1 2 3 4 8 :


 
 
打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站