mysql正则表达式

匹配的两种方式:

  • 1.模糊匹配:like
  • 2.正则表达式

正则表达式语法:

语法 说明
^ 起始位置。如果设置了RegExp对象的Multiline属性,^也匹配'\n'或'\r'之后的位置。
$ 结束位置。如果设置了RegExp对象的Multiline属性,$也匹配'\n'或'\r'之前的位置。
. 匹配处\n之外的任何单个字符。要匹配'\n'在内的任何字符,请使用'[.\n]'模式
[...] 字符集合。匹配所包含的任意一个字符。例如'[abc]'可以匹配'plain'中的a
[^...] 负值字符集合。匹配未包含的任意字符。例如,'[^abc]'可以匹配'plain'中的'p' .这个不理解
p1|p2|p3 匹配p1或p2或p3。例如'z|food'能匹配"z"或"food"。'(z|f)ood'则匹配"zood"或"food"。
* 匹配前面的子表达式0次或多次。'zo'能匹配"z"以及"zoo".等价于{0,++}
+ 匹配前面的子表达式1次或多次。'zo+'能匹配"zo"以及"zoo",但不能匹配"z".+等价于{1,++}
{n} n是一个非负整数。匹配确定的n次。例如'o{2}'不能匹配"Bob"中的"o",但能匹配"food"中的"oo"
{n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次
select * from csj_tbl where csj_author REGEXP "^菜鸟";
select * from csj_tbl where csj_author REGEXP "教程$";
select * from csj_tbl where csj_author REGEXP "^菜鸟教程$";
select * from csj_tbl where csj_author REGEXP "菜鸟教程.";
select * from csj_tbl where csj_title REGEXP "学习.java";
select * from csj_tbl where csj_title REGEXP "学习.java......";
select * from csj_tbl where csj_title REGEXP "[abc]";
select * from csj_tbl where csj_title REGEXP 'java|python';
-- 增加2条记录
insert into csj_tbl VALUES
(6,"zood","zoozoo",2018-11-12),
(7,"food","zoozoozoozoo",2018-11-12);
select * from csj_tbl where csj_title REGEXP "(z|f)ood";
select * from csj_tbl where csj_title REGEXP "oo*";
select * from csj_tbl where csj_title REGEXP "o+";
select * from csj_tbl where csj_author REGEXP "(zoo){2}";
select * from csj_tbl where csj_author REGEXP "(zoo){3,4}";
select * from csj_tbl where csj_author REGEXP '[^a-z0-9]'; -- 查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据:
select * from person_tbl where name regexp '^[aeiou]|ok$';

mysql-6正则表达式的更多相关文章

  1. mysql中正则表达式的使用

    mysql中正则表达式的性能要高于like,所以这里总结一下正则表达式的使用. 正则表达式的模式及其含义: 下面举例说明其用法: 建表student: create table student(id ...

  2. MYSQL使用正则表达式过滤数据

    一.正则与LIKE的区别 Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符.字符串.例如:select * from wp_posts where post_name REGEXP ...

  3. MySql 使用正则表达式

    MySql 用where 子句对正则表达式提供了支持,允许你指定正则表达式,注意mysql仅支持多数正则表达式实现的一个很小的子集. 1.基本字符匹配: SELECT prod_name FROM p ...

  4. MySQL中正则表达式

    正则表达式是用来匹配文本的特殊的串(字符集合),将一个模式(正则表达式)与一个文本串进行比较 从文本文件中提取电话号码 查找名字中间带有数字的文件 文本块中重复出现的单词 替换页面的URL为这些URL ...

  5. Mysql(四)正则表达式

    一.正则表达式 1.使用like可以进行不确定的查询(模糊查询),然而,模糊 查询的功能有限,当需要进行更加复杂的模式匹配时,可以 使用正则表达式来完成. 2.正则表达式可以对指定的字符串与模式之间执 ...

  6. MySQL之正则表达式

    一.介绍 正则表达式用来描述或者匹配符合规则的字符串.它的用法和like比较相似,但是它又比like更强大,能够实现一些很特殊的规则匹配:正则表达式需要使用REGEXP命令,匹配上返回"1& ...

  7. mysql的正则表达式

    所谓正在表达式,就是通过模式去匹配一类字符串.MySQL支持的模式字符如下表所示: MySQL支持的模式字符 模式字符 含义 ^ 匹配字符串的开始部分 $ 匹配字符串的结束部分 . 匹配字符串中的任意 ...

  8. 果然学习好是有道理的,学习Mysql与正则表达式笔记

    正则表达式是用来匹配文本的特殊的字符集合,将一个正则表达式与文本串进行比较,Mysql中用where子句提供支持,正则表达式关键字:regexp1.使用‘|’匹配两个串中的一个 2.使用‘[]’匹配几 ...

  9. MySQL使用正则表达式比较字段中的数字

    今天遇到一个问题,需要对表中的一个类json字段的内容进行筛选,而筛选的条件是值要大于某个值.因为值的位数并不确定,考虑使用正则表达式进行筛选. 字段格式 类json的key-value字段,示例如下 ...

  10. MySQL的正则表达式的LIKE和REGEXP区别

    LIKE匹配整个列.如果被匹配的文本在列值 中出现,LIKE将不会找到它,相应的行也不被返回(除非使用 通配符).而REGEXP在列值内进行匹配,如果被匹配的文本在 列值中出现,REGEXP将会找到它 ...

随机推荐

  1. [微信开发] - 使用weixin4j进行二次开发

    1. 服务器连接配置OK, 配置文件在classpath:weixin4j.properties中 # weixin4j-spring-demo### 使用weixin4j(岸思版)springboo ...

  2. 计算机基础教程11 - 互联网&内联网

    在本章中,我们将看到什么是Internet和Intranet,以及讨论两者之间的异同. 互联网 它是互联计算机网络的全球/全球系统.它使用标准的Internet协议(TCP / IP).Interne ...

  3. Flask 2 程序的基本结构1

    NOTE 1.初始化:所有的Flask程序都必须创建一个程序实例. app = Flask(__name__) # 向Flask的构造函数传入参数__name__ 2.路由和视图函数(VF): Cli ...

  4. UVa 10917 林中漫步

    https://vjudge.net/problem/UVA-10917 题意: 给出一个图,求出从1走到2共有多少种走法.前提是他只沿着满足如下条件的道路(A,B)走:存在一条从B出发回家的路径,比 ...

  5. Redis之hash数据结构实现

    参考 https://www.cnblogs.com/ourroad/p/4891648.html https://blog.csdn.net/hjkl950217/article/details/7 ...

  6. bzoj2705: [SDOI2012]Longge的问题 欧拉定理

    题意:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). 题解:考虑n的所有因子,假设有因子k,那么对答案的贡献gcd(i,n)==k的个数即gcd(i/k,n/k)== ...

  7. poj1459网络流之多源点最大流

    这题想了好久,一直认为应该bfs更新后求最小值把发电站最大发电加进去,但是又发现这样求增广路的时候会导致用户更新出错, 加源点和汇点也考虑到了,没想到居然发电量就是超级源到源点的v,居然这么简单@.@ ...

  8. Leetcode 39

    //经典回溯法class Solution { public: vector<vector<int>> combinationSum(vector<int>& ...

  9. spring boot 之热部署

    热部署:当发现程序修改时自动启动应用程序. spring boot使用的是spring-boot-devtools是一个为开发者服务的一个模块.其原理用了classLoader 其中一个加载不变的类, ...

  10. 003——数组(三)count()reset()end()prev()next()current()

    <?php /** * count 统计数组中元素的个数 */ /*$arr=array('blog.com','博客论坛',array('php课程','css课程')); echo coun ...