WEB开发网
开发学院数据库MySQL MySQL正则表达式的描述 阅读

MySQL正则表达式的描述

 2007-11-11 13:45:48 来源:WEB开发网   
核心提示:正则表达式(regex)是定义复杂查询的一个强有力的工具, 这里是一个简单的资料,MySQL正则表达式的描述,它忽略了一些详细的信息, 正则表达式定义了一个字符串的规则, 举一个更复杂一点的例子,正则表达式B[an]*s可以匹配字符串“Bananas”、“Baaaaas”、“Bs”以及其他任何以B开头以s结尾的字符串,
  正则表达式(regex)是定义复杂查询的一个强有力的工具。 这里是一个简单的资料,它忽略了一些详细的信息。

  正则表达式定义了一个字符串的规则。最简单的正则表达式不包含任何保留字。例如,正则表达式hello只和字符串“hello”匹配。

  一般的正则表达式使用了某些特殊的结构,所以它能匹配更多的字符串。例如,正则表达式hello|word既能匹配字符串“hello”也能匹配字符串“word”。

  举一个更复杂一点的例子,正则表达式B[an]*s可以匹配字符串“Bananas”、“Baaaaas”、“Bs”以及其他任何以B开头以s结尾的字符串,中间可以包括任意个a和任意个n的组合。

  一个正则表达式中的可以使用以下保留字

^

所匹配的字符串以后面的字符串开头

MySQL(和PHP搭配之最佳组合)> select "fonfo" REGEXP "^fo$"; -> 0(表示不匹配)

MySQL(和PHP搭配之最佳组合)> select "fofo" REGEXP "^fo"; -> 1(表示匹配)

$

所匹配的字符串以前面的字符串结尾

MySQL(和PHP搭配之最佳组合)> select "fono" REGEXP "^fono$"; -> 1(表示匹配)

MySQL(和PHP搭配之最佳组合)> select "fono" REGEXP "^fo$"; -> 0(表示不匹配)

.

匹配任何字符(包括新行)

MySQL(和PHP搭配之最佳组合)> select "fofo" REGEXP "^f.*"; -> 1(表示匹配)

MySQL(和PHP搭配之最佳组合)> select "fonfo" REGEXP "^f.*"; -> 1(表示匹配)

a*

匹配任意多个a(包括空串)

MySQL(和PHP搭配之最佳组合)> select "Ban" REGEXP "^Ba*n"; -> 1(表示匹配)

MySQL(和PHP搭配之最佳组合)> select "Baaan" REGEXP "^Ba*n"; -> 1(表示匹配)

MySQL(和PHP搭配之最佳组合)> select "Bn" REGEXP "^Ba*n"; -> 1(表示匹配)

a+

匹配任意多个a(不包括空串)

MySQL(和PHP搭配之最佳组合)> select "Ban" REGEXP "^Ba+n"; -> 1(表示匹配)

MySQL(和PHP搭配之最佳组合)> select "Bn" REGEXP "^Ba+n"; -> 0(表示不匹配)

a?

匹配一个或零个a

MySQL(和PHP搭配之最佳组合)> select "Bn" REGEXP "^Ba?n"; -> 1(表示匹配)

MySQL(和PHP搭配之最佳组合)> select "Ban" REGEXP "^Ba?n"; -> 1(表示匹配)

MySQL(和PHP搭配之最佳组合)> select "Baan" REGEXP "^Ba?n"; -> 0(表示不匹配)

1 2 3  下一页

Tags:MySQL 正则 表达式

编辑录入:coldstar [复制链接] [打 印]
赞助商链接