在提取数据的时候,在程序里面可以处理字符串,在mysql里面也是可以处理匹配字符串的,在javascript里面也是一样,都可以进行匹配字符串,下面介绍怎么在mysql使用正则表达式
可能很多朋友在使用replace时只是简单的替换字符了,replace不但可以替换字符还可以直接在里面使用正则表达式来替换了,下面我们一起来看看具体一些关于replace正则替换字符的用法吧.
mysql字段值替换具体做法如下:
update `table_hospital` set service=replace(service,"<a%</font></a>",'')<br type="_moz">
可以限制ID,范围,具体内容自己发挥想象,mysql数据库中replace、regexp的用法,主要是通过sql语句实现数据的替换.
mysql replace用法
1.replace into,代码如下:
replace into table (id,name) values('1′,'aa'),('2′,'bb')
此语句的作用是向表table中插入两条记录,如果主键id为1或2不存在,就相当于如下代码:
insert into table (id,name) values('1′,'aa'),('2′,'bb')
如果存在相同的值则不会插入数据.
2.replace(object,search,replace) 把object中出现search的全部替换为replace,代码如下:
select replace('www.phpfensi.com','w','Ww')—>WwWwWw.phpfensi.com
例:把表table中的name字段中的aa替换为bb
update table set name=replace(name,'aa','bb')
由MySQL提供的模式匹配的其它类型是使用扩展正则表达式,当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词).
扩展正则表达式的一些字符是:
· ‘.'匹配任何单个的字符。
· 字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的范围,使用一个“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。
· “ * ”匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配任何数量的数字,而“.*”匹配任何数量的任何字符。
如果REGEXP模式与被测试值的任何地方匹配,模式就匹配(这不同于LIKE模式匹配,只有与整个值匹配,模式才匹配).
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”.
为了说明扩展正则表达式如何工作,下面使用REGEXP重写上面所示的LIKE查询,为了找出以“b”开头的名字,使用“^”匹配名字的开始,代码如下:
- mysql> SELECT * FROM pet WHERE name REGEXP ‘^b';
- +——–+——–+———+——+————+————+
- | name| owner | species | sex | birth | death |
- +——–+——–+———+——+————+————+
- | Buffy | Harold | dog| f | 1989-05-13 | NULL|
- | Bowser | Diane | dog| m | 1989-08-31 | 1995-07-29 |
- +——–+——–+———+——+————+————+
如果你想强制使REGEXP比较区分大小写,使用BINARY关键字使其中一个字符串变为二进制字符串,该查询只匹配名称首字母的小写‘b',代码如下:
mysql> SELECT * FROM pet WHERE name REGEXP BINARY ‘^b';
为了找出以“fy”结尾的名字,使用“$”匹配名字的结尾:
- mysql> SELECT * FROM pet WHERE name REGEXP ‘fy$';
- +——–+——–+———+——+————+——-+
- | name| owner | species | sex | birth | death |
- +——–+——–+———+——+————+——-+
- | Fluffy | Harold | cat| f | 1993-02-04 | NULL |
- | Buffy | Harold | dog| f | 1989-05-13 | NULL |
- +——–+——–+———+——+————+——-+
为了找出包含一个“w”的名字,使用以下查询:
- mysql> SELECT * FROM pet WHERE name REGEXP ‘w';
- +———-+——-+———+——+————+————+
- | name| owner | species | sex | birth | death |
- +———-+——-+———+——+————+————+
- | Claws | Gwen | cat| m | 1994-03-17 | NULL|
- | Bowser| Diane | dog| m | 1989-08-31 | 1995-07-29 |
- | Whistler | Gwen |
还没有人抢沙发呢~