MySQL支持基于正则表达式和REGEXP运算符的另一种模式匹配操作。(相关推荐:《MySQL教程》) 
1.它提供了强大而灵活的模式匹配,可以帮助我们为数据库系统实现power搜索实用程序。 2.REGEXP是执行正则表达式模式匹配时使用的运算符。 3.RLIKE是同义词。它还支持许多元字符,这些元字符在执行模式匹配时可以提供更大的灵活性和控制。 4.反斜杠用作转义字符。如果使用了双反斜杠,则仅在模式匹配中考虑。 5.不区分大小写。 PATTERN | 模式匹配的是什么 | * | 在它之前的零个或多个字符串实例 | + | 在它之前的一个或多个字符串实例 | . | 任何一个角色 | ? | 匹配前面的字符串的零个或一个实例。 | ^ | 插入符号(^)匹配字符串的开头 | $ | 字符串结束 | [abc] | 方括号之间列出的任何字符 | [^abc] | 方括号之间未列出的任何字符 | [A-Z] | 匹配任何大写字母。 | [a-z] | 匹配任何小写字母 | [0-9] | 匹配从0到9的任何数字。 | [[:<:]] | 匹配单词的开头。 | [[:>:]] | 匹配单词的结尾。 | [:class:] | 匹配一个字符类,即[:alpha:]匹配字母,[:space:]匹配空格,[:punct:]匹配标点符号,[:upper:]匹配上层字母。 | p1|p2|p3 | 轮换; 匹配任何模式p1,p2或p3 | {n} | n前面元素的实例 | {m,n} | m到前面元素的n个实例 |
举例说明: 匹配字符串开头(^): 给出所有以“sa”开头的名称。例子——sam,samarth。 SELECT name FROM student_tbl WHERE name REGEXP '^sa'; 匹配字符串的末尾($): 给出所有以“on”结尾的名称。例子——norton,merton. SELECT name FROM student_tbl WHERE name REGEXP 'on$'; 匹配它前面字符串的零个或一个实例(?): 给出所有包含“com”的标题。例子-comedy , romantic comedy. SELECT title FROM movies_tbl WHERE title REGEXP 'com?'; 匹配p1、p2或p3(p1|p2|p3)中的任何模式: 给出所有包含“be”或“ae”的名称。例子——Abel, Baer. SELECT name FROM student_tbl WHERE REGEXP 'be|ae' ; 匹配方括号([abc])中列出的任何字符: 给出包含“j”或“z”的所有名称。例子-Lorentz, Rajs. SELECT name FROM student_tbl WHERE REGEXP '[jz]' ; 匹配' a '到' z ' - ([a-z]) ([a-z]和(.)之间的任何小写字母: 检索包含字母“b”和“g”范围内的所有名称,后跟任意字符,后跟字母“a”。例如,Tobias, sewall. 匹配任何单个字符(.) SELECT name FROM student_tbl WHERE REGEXP '[b-g].[a]' ; 匹配任何不在方括号中列出的字符。([^abc]): 给出所有不包含“j”或“z”的名称。例如: nerton, sewall. SELECT name FROM student_tbl WHERE REGEXP '[^jz]' ; 匹配单词结尾[[:>:]]: 给出所有以字符“ack”结尾的标题。例子——Black. SELECT title FROM movies_tbl WHERE REGEXP 'ack[[:>:]]'; 匹配单词开头[[:<:]]: 给出所有以字符“for”开头的标题。例子-Forgetting Sarah Marshal. SELECT title FROM movies_tbl WHERE title REGEXP '[[:<:]]for'; 匹配一个字符类[:class:]: i.e [:lower:]-小写字符,[:digit:] -数字字符等。 只给出包含字母字符的所有标题。例子-stranger things, Avengers. SELECT title FROM movies_tbl WHERE REGEXP '[:alpha:]' ; 本篇文章就是关于mysql正则表达式(Regexp)的示例详解,希望对需要的朋友有吧帮助! 以上就是mysql正则表达式(Regexp)的示例详解的详细内容,更多请关注模板之家(www.mb5.com.cn)其它相关文章! |