知识点九:MySQL中使用正则表达式(44)
(1):REGEXP‘匹配方式’:
(2):常用匹配方式:
模式字符 |
|
^ |
匹配字符开始的部分 |
$ |
匹配字符串结尾的部分 |
. |
代表字符串中的任意一个字符,包括回车和换行 |
[字符集和] |
匹配字符集和中的任意一个字符 |
[^字符集和] |
匹配除了字符集合以外的任何一个字符 |
S1|S2|S3 |
匹配S1,S2,S3中任意一个字符串 |
* |
代表0和1个或者多个其前的字符 |
+ |
代表1个或者多个其前的字符 |
String{N} |
字符串出现N次 |
字符串{M,N} |
字符串至少出现M次,最多出现N次 |
-- ^匹配字符开始的部分
-- 查询用户名以t开始的用户
SELECT * FROM cms_user WHERE username REGEXP '^t'; -- $匹配字符串结尾的部分 SELECT * FROM cms_user WHERE username REGEXP 'g$'; -- .代表任意字符 SELECT * FROM cms_user WHERE username REGEXP '.'; SELECT * FROM cms_user WHERE username REGEXP 'r..g'; SELECT * FROM cms_user WHERE username LIKE 'r__g'; -- [字符集合] [lto] SELECT * FROM cms_user WHERE username REGEXP '[lto]'; -- [^字符集合] 除了字符集合中的内容
SELECT * FROM cms_user WHERE username REGEXP '[^lto]'; SELECT * FROM cms_user WHERE username REGEXP '[^l]'; INSERT cms_user(username,password,regTime,proId)
VALUES('lll','lll',138212349,2),
('ttt','lll',138212349,2),
('ooo','lll',138212349,2); SELECT * FROM cms_user WHERE username REGEXP '[a-k]'; SELECT * FROM cms_user WHERE username REGEXP '[^a-m]'; SELECT * FROM cms_user WHERE username REGEXP 'ng|qu'; SELECT * FROM cms_user WHERE username REGEXP 'ng|qu|te'; SELECT * FROM cms_user WHERE username REGEXP 'que*'; SELECT * FROM cms_user WHERE username REGEXP 't+'; SELECT * FROM cms_user WHERE username REGEXP 'que+'; SELECT * FROM cms_user WHERE username REGEXP 'que{2}'; SELECT * FROM cms_user WHERE username REGEXP 'que{3}'; SELECT * FROM cms_user WHERE username REGEXP 'que{1,3}';
正则表达式测试