编码
-
二进制: 以
0b或0B开头。 -
八进制: 以
数字0开头表示。 -
十六进制:以
0x或0X开头表示。 - ascii 1byte 数字,字母大小写 回车 换行等
- base64 数字,字母大小写,+/,=做补位
- unicode : 万国码 内存统一码 \u 4e2d\u 6587
- utf-8: 变长 用于网络存储 &#x 4E2D;&#x 6587;
-
%编码: %e4%b8%ad%e6%96%87
会对=&+/进行转义,避免value解析出问题。
传输是value进行urlencode转码,否则+服务端会当做空格解析。
比如参数是a=a+b&/=&b=bb,a为a+b&/=正常解析肯定会出问题,这对value进行转码,特殊字符都以%编码替代就可以到后端正常解析。
正则
特殊字符
.除了\n外任何字符
^$ 一个开始一个结束 /^$/这样判断字符是否满足匹配
()分组捕获 反向引用 当(?:)(?=)(?<=)(?!)不进行捕获
\代表转义符 \d数字 \s空格 \w字母
!取反,比如不包含abc其中任意字母:![abc] js: !/[abc]/.test("r!")
数量
{} 范围{n}{n,m}{n,}
[][abc] a,b或者c其中一个 [.] 相当于.
*+?范围 {0,}{1,}{0,1} ?在+?限定符之后代表最小匹配/<.?>/
| 或 a|b
分组
(a)(b) abcccc 匹配ab 然后 分组数组 0->a 1->b
匹配环顾
aaabbb aaa(?=bbb) 会匹配 aaa
aaabbb aaa(?!ccc) 会匹配 aaa
aaabbb (?>=aaa)bbb 会匹配 bbb
aaabbb (?>!ccc)bbb 会匹配 bbb










网友评论