正则表达式中有转义字符,其作用主要是对正则表达式中的元字符进行转义,使其可以匹配元字符本身而不是其特殊的元字符含义。一般的编程语言(包含SQL)中也都有转义字符的概念,这些转义字符通常都有特殊的含义,比如在windows系统中,'\n'指示换行。两类转义字符都以'\'开始。这里具体对两类转义字符进行说明。
1.编程语言中的转义字符
编程语言中的转义字符通常都是些特殊字符。编程语言中常见的转义字符如下:
转义字符 | 描述 |
---|---|
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
在Python和MySQL中,这些转义字符作为一个整体执行特殊的作用,以'\n'为例:
当'\'和其后的字符无法组成转义字符时,Python和MySQL的处理方式是不一样的。(大概Python与其编程语言,比如Java,都是不一样的,这个之后会去验证一下。)
Python版本:
MySQL版本:
在Python中,‘\'和其后的字符如果不能组成转义字符,Python会把他们当成两个字符处理。而MySQL中,则是直接将‘\’忽略了,只保留了其后的字符串。
2.正则表达式中的转义字符
在正则表达式中,.,^,$,[,],\等都有特定的含义。如果在正则表达式中想与这些字符本身进行匹配的的,需要在这些元字符前加上\对其进行转义。
3.总结
正则表达式其实也是一种字符串,无论是Python还是MySQL,处理正则表达式的时候,编程语言自身要现行处理字符串,之后正则表达式才会处理。
比如在MySQL中, MySQL会先将‘\\w'编译成‘\w’,然后将其交给正则表达式处理。
正则表达式(1):https://blog.csdn.net/yeshang_lady/article/details/99626016
正则表达式(2):https://blog.csdn.net/yeshang_lady/article/details/100576700
参考: