MySQL中的正则表达式
正则表达式是用正则表达式语言来建立
基本字符的匹配

.是正则表达式语言中的一个特殊的字符,它表示匹配任意一个字符
在LIKE和REGEXP之间有一个重要的差别,LIKE匹配整个列,如果被匹配的文本仅在列值中出现,LIKE将不会找到它,相应的行也不会被返回(除非使用通配符)
而REGEXP在列值内匹配,如果被匹配的文本在列值中出现,REGEXP将会找到它,相应的行也会被返回。
MySQL中的正则表达式匹配默认不区分大小写,为区分大小写,可使用BINARY关键字,在REGEXP后面加上BINARY即可
进行OR匹配

|为正则表达式的OR操作符,它表示匹配其中之一
匹配几个字符之一

[]是另一种形式的OR语句。事实上,正则表达式[123] Ton是[1|2|3] Ton的缩写,两者是等同的,但是需要用[]来定义OR语句查找什么,例如下面的例子

并非我们期望的输出,这是因为MySQL假定你的意思是'1'或'2'或'3 ton',除非把字符|括在一个集合中,负责它将应用于整个串。
匹配范围

[1-5]定义了一个范围,这个表达式的范围是匹配1到5,也可以写成[12345],这两者是等价的,不过前者更整洁
匹配特殊字符

\\.匹配. 转义字符,为了匹配反斜杠(\)字符本身,需要使用\\\
多数正则表达式实现使用单个反斜杠转义特殊字符,以便能使用这些字符本身,但MySQL要求两个反斜杠,MySQL自己解释一个,正则表达式解释另一个
匹配多个实例
元字符 说明
* 0个或多个匹配
+ 1个或多个匹配,等于{1,}
? 0个或1个匹配,等于{0,1}
{n} 指定数目的匹配
{n,} 大于等于指定数目的匹配
{n,m} 匹配数目的范围,m不超过255

对这个正则表达式解释一下,转义符匹配括号,[0-9]匹配数字,s后的?使s可选,0个或1个
在使用正则表达式时,编写某个特殊的表达式几乎总是不止一种方法
定位符
元字符 说明
^ 文本的开始
$ 文本的结尾
[[:<:]] 词的开始
[[:>:]] 词的结尾
注意^有两种用途,在集合中(用[和]定义),用它来否定该集合,否则,用来匹配串的开始处

匹配以数字或点开头的
简单的正则表达式测试

MySQL中的正则表达式的更多相关文章
- MySQL中REGEXP正则表达式使用大全
REGEXP在mysql是用来执行正则表达式的一个函数 像php中的preg之类的函数了,regexp正则函数如果只是简单的查询使用like即可,但复杂的还是需要使用regexp了,下面我们来看看. ...
- MYSQL初级学习笔记七:MySQL中使用正则表达式!(视频序号:初级_44)
知识点九:MySQL中使用正则表达式(44) (1):REGEXP‘匹配方式’: (2):常用匹配方式: 模式字符 ^ 匹配字符开始的部分 $ 匹配字符串结尾的部分 . 代表字符串中的任意一个字符,包 ...
- mysql中使用正则表达式查询
正则表达式功能确实很强大,那天专门抽空学学,这里就暂时在mysql查询中用用. 正则表达式强大而灵活,可以应用于非常复杂的查询. 选项 说明(自动加匹配二字) 例子 匹配值示例 ^ 文本开始字符 '^ ...
- mysql中常见正则表达式的应用
查找name字段中以'st'为开头的所有数据: mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st'; 查找name字段中以'ok ...
- mysql中使用正则表达式时的注意事项
mysql不支持\d元字符匹配数字 mysql不支持向前.向后查找 regexp不能和not搭配使用
- mysql中正则表达式的使用
mysql中正则表达式的性能要高于like,所以这里总结一下正则表达式的使用. 正则表达式的模式及其含义: 下面举例说明其用法: 建表student: create table student(id ...
- mysql中的模糊查询
转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...
- mysql中模糊查询的四种用法介绍
下面介绍mysql中模糊查询的四种用法: 1,%:表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FROM [user] ...
- 如何在MySQL中获得更好的全文搜索结果
如何在MySQL中获得更好的全文搜索结果 很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录.在后台,这些程序使用在一个SELECT 查询中的LIKE语 ...
随机推荐
- Codeforces 358D Dima and Hares:dp【只考虑相邻元素】
题目链接:http://codeforces.com/problemset/problem/358/D 题意: 有n个物品A[i]摆成一排,你要按照某一个顺序将它们全部取走. 其中,取走A[i]的收益 ...
- codeforces 515C C. Drazil and Factorial(水题,贪心)
题目链接: C. Drazil and Factorial time limit per test 2 seconds memory limit per test 256 megabytes inpu ...
- Android学习路线01
part1:Java 1.Java基础 2.Java面向对象 3.数组与集合,异常,常用类 4.Io流 5.多线程socket编程 6.数据库,网络传输,数据解析 part2:Android 1.An ...
- Java面试题10(如何取到set集合的第一个元素)
1.如何取到set集合的第一个元素. public static void main(String[] args) { Set set = new HashSet(); set.add("x ...
- JSP页面跳转
JSP页面跳转 RequestDispatcher.forward() 服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到 ...
- npm in macbook
打开终端,试了很多次 npm install anywhere -g,结果还是报错,大概就说没权限. 所以,才想起之前看过的博客中,提到用sudo去执行. 终于,没问题了! 如果npm install ...
- chrome中的content script脚本文件
打开chrome的devtools工具,sources下有一个Content script: 1 chrome插件开发过程中难免会遇到使用content script来操作页面的dom,在chrome ...
- 洛谷【P1908】逆序对
题目传送门:https://www.luogu.org/problemnew/show/P1908 所谓逆序对,就是序列中\(a[i]>a[j]\)且\(i<j\)的有序对. 所以我们在归 ...
- xshell 登录虚拟机ubuntu
本地装的Ubuntu虚拟机. 宿主机是win10, 互相之间能ping通,就是Xshell连不上,而且也不能弹出用户名和密码框. 后来解决,具体过程如下: 1: ifconfig -a命令得到 ...
- MySQL(介绍1)
数据库(Database)是按照数据结构来组织.存储和管理数据的仓库: 也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢. 在WEB应用方面MySQL是最好的RDBMS(Relational ...