编码+正则

作者: go_2021 | 来源:发表于2022-02-06 15:28 被阅读0次
编码
  • 二进制: 以0b0B开头。
  • 八进制: 以数字0开头表示。
  • 十六进制:以0x0X开头表示。
  • 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

相关文章

网友评论

    本文标题:编码+正则

    本文链接:https://www.haomeiwen.com/subject/ipmukrtx.html