^ | 匹配字符串的开始位置。 | ||||
$ | 匹配字符串的结束位置。 | ||||
. | 匹配除 "\n" 之外的任何单个字符。 | ||||
[...] | 匹配所包含的任意一个字符。 | ||||
[^...] | 匹配未包含的任意字符。 | ||||
? | 匹配它前面的零个或一个子表达式(字符串)。 | ||||
* | 匹配它前面的零个或多个子表达式(字符串)。 | ||||
+ | 匹配它前面的一个或多个子表达式(字符串)。 | ||||
[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个子表达式 |
eg:
匹配name字段以'sa'开头的所有数据,例:Sample-sam,samarth。
select name from stu_tb where name regexp '^sa';
匹配name字段以'on'结尾的所有数据,例:norton,merton。
select name from stu_tb where name regexp 'on$';
匹配name字段包含'com'的所有数据,例:comedy ,romantic comedy。
select name from stu_tb where name regexp 'com?';
匹配name字段包含'be'或'ae'的所有数据,例: Abel,Baer
select name from stu_tb where name regexp 'be|ae';
匹配name字段包含'j'或'z'的所有数据,例:Lorentz,Rajs。
select name from stu_tb where name regexp '[jz]';
匹配name字段中第一位包含“b”和“g”范围内字母,第二位包含任何字符,第三位包含字母'a'的所有字符串数据,例: Tobias,sewall。
select name from stu_tb where name regexp '^[b-g].[a]';
匹配所有不包含'j'或'z'的名称。例: nerton,sewall。
select name from stu_tb where name regexp '[^jz]';
匹配name字段中以字符“ack”结尾的所有数据,例:Black。
select name from stu_tb where name regexp '^ack[[:>:]]';
匹配name字段中以字符“for”开头的所有数据,例 :Forgetting Sarah Marshal.。
select name from stu_tb where name regexp '[:alpha:]';