【mysql】转义字符反斜杠,正则表达式

1.mysql插入

1.1插入-反斜杠规则:

​ 在MySQL中,反斜杠在字符串中是属于转义字符,经过语法解析器解析时会进行一次转义,所以当我们insert反斜杠(\)字符时,如 insert "\" 在数据库中最终只会存储"",第一个反斜杠(\)被当做转义字符处理。 ​

  1. 当字符串中有1个反斜杠,插入后算0个

  2. 当字符串中有2个反斜杠,插入后算1个

  3. 当字符串中有3个反斜杠,插入后算1个

  4. 当字符串中有4个反斜杠,插入后算2个

  5. 当字符串中有5个反斜杠,插入后算2个。

1.2插入案例:

sql 复制代码
INSERT INTO `t1`(`id`, `value`, `value_verify`) VALUES (2189, 11,  '^[1-9]\\d*$');

这里的插入正则的效果才是^[1-9]\d*$

2.1查询规则

普通查询(=)规则和插入(INSERT语句)一样

like查询二次转义。除了会在语法解析时转义一次外,还会在正则匹配时进行第二次的转义。因此如果期望最终匹配到"",就要反转义两次,也就是由"\\\\"到"\\"再到"\"。

2.2查询案例

sql 复制代码
mysql> SELECT id,value_verify from t1 where value_verify like '%\\\\%';

进行查询是like '%\%'

结果

+------+-----------------------+

| id | text |

+------+-----------------------+

| 2189 | ^[1-9]\d*$ |

| 2199 | ^[1-9]\d*$ |

+----+-----------------------+

相关推荐
玉言心3 小时前
正则表达式学习
正则表达式
幽兰的天空4 小时前
【Python】正则表达式
python·正则表达式
dawn1912284 小时前
Java 中的正则表达式详解
java·开发语言·算法·正则表达式·1024程序员节
MarkHD2 天前
第七天 正则表达式
正则表达式
史努比的大头3 天前
正则表达式基础知识
正则表达式
Katherine10293 天前
正则表达式笔记
笔记·正则表达式·1024程序员节
阿智智3 天前
正则表达式使用举例一(Python下)
python·正则表达式·re包
炫彩@之星4 天前
Sublime Text3快捷键大全--正则表达式元字符-详细说明
网络安全·正则表达式·sublime text·安全测试
l23456789o4 天前
java使用正则表达式校验字符串pwd,是否符合包含大写小写数字特殊字符长度超过8位
java·开发语言·正则表达式