《字符编码数字证书正则表达式总结》由会员分享,可在线阅读,更多相关《字符编码数字证书正则表达式总结(4页珍藏版)》请在金锄头文库上搜索。
1、一字符编码1. 字符编码:在符号集合与数字系统之间建立对应关系。2. 常见字符集名称:ASCII 字符集( 256 个符号包含全部英文,使用一个字节表示一个符号)、GB2312字符集(简体中文127 是全角,使用两个字节表示一个汉字,所以理论上最多可以表示256x256=65536 个符号)、BIG5 字符集(繁体中文)、GB18030字符集、 Unicode 字符集(各国统一码)等。Unicode 是字符集, UTF-32/ UTF-16/ UTF-8是三种针对它的字符编码方案。UTF-8:变长的编码方式,使用14 个字节表示一个符号,以0 开始表示只占用一个字节,以n 个 1 开始则表示连
2、续占用n 个字节。大端小端:如果一个文本文件的头两个字节是FE FF,就表示该文件采用大端方式;如果头两个字节是 FF FE,就表示该文件采用小端方式。二数字证书1、目前的数字证书类型主要包括:个人身份证书、企业或机构身份证书、 支付网关证书、服务器证书、安全电子邮件证书、个人代码签名证书。从数字证书的技术角度分,CA中心发放的证书分为两类:SSL证书(企业)和SET证书(个人)。 附: SSL= 安全套接层 2、证书链: 需要把对方的证书加入到自己的信任证书库,使用证书链来实现可以简化管理,增加新的客户端无需修改服务器信任证书库。证书链中每一个证书都由其前面的数字证书进行鉴别。三正则表达式1
3、、零宽断言2、功能:查找符合某些复杂规则的字符串3、b 是正则表达式规定的一个特殊代码,代表着单词的开头或结尾,也就是单词的分界处。4、.* 匹配任意数量的不包含换行的字符,eg:bhib.*bLucyb 5、d 匹配一位数字, eg: 电话 0dd-dddddddd或者 0d2-d8重复匹配 2/8 次。6、s 匹配任意的空白符(space )7、w 匹配字母或数字或下划线或汉字等(word ).匹配除换行符以外的任意字符w匹配字母或数字或下划线或汉字s匹配任意的空白符d匹配数字b匹配单词的开始或结束匹配字符串的开始$匹配字符串的结束反义:例子: S+ 匹配不包含空白符的字符串。+匹配用尖括
4、号括起来的以a 开头的字符串。W匹配任意不是字母,数字,下划线,汉字的字符S匹配任意不是空白符的字符D匹配任意非数字的字符B匹配不是单词开头或结束的位置x匹配除了 x 以外的任意字符aeiou匹配除了 aeiou 这几个字母以外的任意字符8、d5,12$匹配 5 到 12 个数字的 QQ 号码9、字符转义,查找使用, 查找.使用 . ,查找 * 使用 * 10 、*重复零次或更多次11 、+重复一次或更多次12 、?重复零次或一次 n 重复 n 次n, 重复 n 次或更多次 n,m 重复 n 到 m次Eg: Windowsd+匹配 Windows后面跟 1 个或更多数字w+匹配一行的第一个单词
5、(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置) aeiou就匹配任何一个英文元音字母,.?! 匹配标点符号 (. 或?或!) 。0-9代表的含意与 d 就是完全一致的:一位数字;同理a-z0-9A-Z_也完全等同于 w ( ?0d2) -?d8匹配(010)88886666,或 022-22334455,或 02912345678等。13 、分枝条件 指的是有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用| 把不同的规则分隔开。 Eg: 0d2-d8|0d3-d7匹配 010-12345678和 0754-123456714 、分组:用小括号来指定子表达式 (也叫做
6、 分组 ),然后指定子表达式的重复次数,(192.)3 匹配一个 IP 地址: (20-4d|250-5|01?dd?).)3(20-4d|250-5|01?dd?)15 、后向引用 用于重复搜索前面某个分组匹配的文本。例如,1代表分组1匹配的文本。b(w+)bs+1b可以用来匹配重复的单词,像go go , 或者 kitty kitty。可以自己指定组名,把w+ 的组名指定为 Word 即(?w+)使用时 k b(?w+)bs+kb16 、bw+(?=ingb),匹配以 ing 结尾的单词的前面部分( 除了 ing 以外的部分 ),如查找 Im singing while youre dan
7、cing.时,它会匹配sing 和 danc 。(?)指定了这样的 前缀 :被尖括号括起来的单词(?).*(?=) 其中 / 是转义, 1是反向引用第一组,匹配不包含属性的简单HTML 标签内里的内容即 和之间的内容。通过语法 (?#comment)来包含注释。例如: 20-4d(?#200-249)|250-5(?#250-255)。(? # 查找尖括号括起来的字母或数字( 即 HTML/XML 标签) ) # 前缀结束.* # 匹配任意文本(?= # 断言要匹配的文本的后缀# 查找尖括号括起来的内容:前面是一个“/“ ,后面是先前捕获的标签) # 后缀结束贪婪匹配和懒惰匹配? 比如: a.
8、*?b匹配最短的,以a 开始,以 b 结束的字符串。表 5. 懒惰限定符代码 / 语法说明*?重复任意次,但尽可能少重复+?重复 1 次或更多次,但尽可能少重复?重复 0 次或 1 次,但尽可能少重复n,m?重复 n 到 m 次,但尽可能少重复n,?重复 n 次以上,但尽可能少重复(?group)把捕获的内容命名为group,并压入 堆栈 (Stack)(?-group)从堆栈上弹出最后压入堆栈的名为group的捕获内容,如果堆栈本来为空,则本分组的匹配失败(?(group)yes|no)如果堆栈上存在以名为group的捕获内容的话,继续匹配yes 部分的表达式,否则继续匹配no 部分匹配 Email 地址的正则表达式:w+(-+.w+)*w+(-.w+)*.w+(-.w+)*匹配帐号是否合法(字母开头,允许5-16 字节,允许字母数字下划线) :a-zA-Za-zA-Z0-9_4,15$