转义

转义字符,正则表达式,特殊字符,模式匹配

£可爱£侵袭症+ 提交于 2020-02-13 07:14:42
1. 常见的 转义字符 字母前面加上反斜线 "\" 来表示常见的那些不能显示的ASCII字符.称为转义字符。如 \0, \t, \n 等。 转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) ,将当前位置移到前一列 008 \f 换页(FF),将当前位置移到下页开头 012 \n 换行(LF) ,将当前位置移到下一行开头 010 \r 回车(CR) ,将当前位置移到本行开头 013 \t 水平制表(HT) (跳到下一个TAB位置) 009 \v 垂直制表(VT) 011 \\ 代表一个反斜线字符 ''\' 092 \' 代表一个单引号(撇号)字符 039 \" 代表一个双引号字符 034 \0 空字符(NULL) 000 \ddd 1到3位八进制数所代表的任意字符 三位八进制 \xhh 1到2位十六进制所代表的任意字符 二位十六进制 2. 正则表达式 中的 特殊字符 在表达式中有特殊意义,需要在它前面添加 "\" 才能当作普通文本字符来使用。 使用正则表达式regex匹配特殊字符(2种方法记忆): 方法1:首先加"\"匹配该 特殊字符 本身,然后在 转义字符 (即"\")前加"\" 方法2:在特殊字符前加"\\"(或者使用[]),特别的"\"需要使用"\\\\"来匹配 字符 说明 input regex1 regex2 ^ 匹配输入字符串的

匹配任意单个字符

China☆狼群 提交于 2020-02-13 01:17:55
正则表达式中.字符相当于DOS的?字符。SQL用户将注意到正则表达式里的.字符相当于SQL中的_(下划线)字符。在绝大多数正则表达式里,.只能匹配除换行符以外的任何单个字符。 字符.(点)匹配特殊字符:.字符在正则表达式里有特殊的含义,如果模式里需要一个. ,就要想办法来告诉正则表达式你需要的是. 字符本身而不是它在正则表达式里的特殊含义。为此,你必须在.的前面加上一个\(反斜杠)字符来对它进行转义。\是一个元字符(metacharacter,表示“这个字符有特殊含义,而不是字符本身含义”)。 如果要所搜\本身,就必须对\字符进行转义,相应的转义序列是两个连续的反斜杠字符\\ 在正则表达式里,有特殊含义的字符序列总是以\字符开头。 来源: https://www.cnblogs.com/ccgjava/p/7215738.html

GO json字符串转义处理

南楼画角 提交于 2020-02-13 00:47:58
golang json序列化得到的数据有\的问题 我们在对外提供API接口,返回响应的时候,很多时候需要使用如下的数据结构 type Response struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data"` } 该API接口返回一个状体码,状态信息,以及具体的值。但是具体的值可能根据各个接口的不同而不同。 在实际的开发过程中我们可能会得到一个实际的数据值,并将这个值赋值给data,然后json序列化返回给调用方。 这时如果你得到的data是一个经过json序列化之后的字符串,类似于{"Name":"happy"},然后再将这个字符串赋值给data,此时将response序列化得到的string,如下 {“code”:1,”msg”:”success”,”data”:”{\”Name\”:\”Happy\”}”} 我们会发现之前已经序列化好的字符串,每一个都多了\,这是因为转义引起的问题。解决方法 1 直接将未序列化的data赋值给data package main import ( "encoding/json" "fmt" ) type Response struct { Code int `json:"code"` Msg string `json:"msg"`

XAML 字符转义

廉价感情. 提交于 2020-02-12 18:26:40
在 写xaml的使用遇到了一些特殊字符,这里记录一下特殊字符转义。 这些特殊字符遵循用于编码的万维网联合会(W3C) XML 标准。 下表显示这组特殊字符的编码语法: 字符 语法 描述 < &lt; 小于符号。 > &gt; 大于符号。 & &amp; & 符号。 " &quot; 双引号。 参见: https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/advanced/how-to-use-special-characters-in-xaml 来源: https://www.cnblogs.com/azsunqi/archive/2020/02/12/12299888.html

mybatis中#{}和${}的区别

耗尽温柔 提交于 2020-02-12 06:44:58
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".    2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为order by id.    3. #方式能够很大程度防止sql注入。    4.$方式无法防止Sql注入。 5.$方式一般用于传入数据库对象,例如传入表名.    6.一般能用#的就别用$. MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 字符串替换 默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,有时你只是想直接在SQL语句中插入一个不改变的字符串。比如,像ORDER BY,你可以这样来使用: ORDER BY ${columnName} 这里MyBatis不会修改或转义字符串。 重要:接受从用户输出的内容并提供给语句中不变的字符串,这样做是不安全的。这会导致潜在的SQL注入攻击

mybatis中#{}和${}的区别

允我心安 提交于 2020-02-12 04:56:17
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".    2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为order by id.    3. #方式能够很大程度防止sql注入。    4.$方式无法防止Sql注入。 5.$方式一般用于传入数据库对象,例如传入表名.    6.一般能用#的就别用$. MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 字符串替换 默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,有时你只是想直接在SQL语句中插入一个不改变的字符串。比如,像ORDER BY,你可以这样来使用: ORDER BY ${columnName} 这里MyBatis不会修改或转义字符串。 重要:接受从用户输出的内容并提供给语句中不变的字符串,这样做是不安全的。这会导致潜在的SQL注入攻击

mybatis中的#{}和${}区别

ⅰ亾dé卋堺 提交于 2020-02-12 03:13:01
#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".    2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为order by id.    3. #方式能够很大程度防止sql注入。    4.$方式无法防止Sql注入。 5.$方式一般用于传入 数据库 对象,例如传入表名.    6.一般能用#的就别用$. MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 字符串替换 默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,有时你只是想直接在SQL语句中插入一个不改变的字符串。比如,像ORDER BY,你可以这样来使用: ORDER BY ${columnName} 这里MyBatis不会修改或转义字符串。 重要:接受从用户输出的内容并提供给语句中不变的字符串,这样做是不安全的。这会导致潜在的SQL注入攻击

jquery与php的HTML转义与反转义

半城伤御伤魂 提交于 2020-02-10 02:02:21
1.jquery (1)Html转义 var tmp = '<a href="https://www.baidu.com/">连接</a>'; var tmp_rev = $('<div>').text(tmp).html(); console.log(tmp_rev); 结果:   <a href="https://www.baidu.com/">连接</a> (2)Html反转义 var tmp = '<a href="https://www.baidu.com/">连接</a>'; var tmp_rev = $('<div>').text(tmp).html(); var tmp_rev_rev = $('<div>').html(tmp_rev).text(); console.log(tmp_rev_rev); 结果 :   <a href="https://www.baidu.com/">连接</a> 2.php (1)转义 htmlentities() 把字符转换为 HTML 实体 htmlspecialchars() 把预定义的字符转换为 HTML 实体  预定义的字符是: & (和号)成为 & " (双引号)成为 " ' (单引号)成为 ' < (小于)成为 < > (大于)成为 > (2)反转义 html_entity_decode() 把 HTML

HTML转义字符大全

大憨熊 提交于 2020-02-09 19:45:22
1.常用转义字符 转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。表18-3是其中的几个转义字符串。 表18-3 特殊字符 字符 十进制 转义字符 " " " & & & < < < > > > 不断开空格(non-breaking space)   表18-4 其他字符 字符 十进制 转义字符 字符 十进制 转义字符 字符 十进制 转义字符 ? ¡ ¡ Á Á Á á á á ¢ ¢ ¢ Â Â ˆ â â â £ £ £ Ã Ã Ã ã ã ã ¤ ¤ ¤ Ä Ä &Auml ä ä ä ¥ ¥ ¥ Å Å &ring; å å å | ¦ ¦ Æ Æ Æ æ æ æ § § § Ç Ç Ç ç ç ç ¨ ¨ ¨ È È È è è è © © © É É É é é é a ª ª Ê Ê Ê ê ê ê ? « « Ë Ë Ë ë ë ë ? ¬ ¬

Python3 字符串

偶尔善良 提交于 2020-02-09 18:08:22
字符串是 Python 中最常用的数据类型。我们可以使用引号( ' 或 " )来创建字符串。 Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。 Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a 响铃 \b 退格(Backspace) \e 转义 \000 空 \n 换行 \v 纵向制表符 \t 横向制表符 \r 回车 \f 换页 \oyy 八进制数,yy代表的字符,例如:\o12代表换行 \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行 \other 其它的字符以普通格式输出 Python字符串运算符 下表实例变量a值为字符串 "Hello",b变量值为 "Python": 操作符 描述 实例 + 字符串连接 a + b 输出结果: HelloPython * 重复输出字符串 a*2 输出结果:HelloHello [] 通过索引获取字符串中字符 a[1] 输出结果 e [ : ] 截取字符串中的一部分,遵循 左闭右开 原则,str[0,2] 是不包含第 3 个字符的。 a[1:4] 输出结果 ell in 成员运算符 - 如果字符串中包含给定的字符返回 True 'H' in a 输出结果