使用十六进制或八进制值、以及POSIX字符类

2017-12-10 20:01:18
linefo
975
最后编辑:linefo 于 2017-12-14 10:34:14


这两种匹配方式比较异类,可能用的相对少很多


【可能需要的工具】

ASCII表:http://www.linefo.com/index.php/article/reference-1.html

进制转换器:(暂缺)


【例子】使用十六进制值“\x4d”匹配字母“M”

(在正则表达式中,十六进制值需要用前缀 \x 给出,匹配时,会将其转换为十进制值,接着以该值到ASCII表中查询对应值,例子中4d对应的十进制值为77,在ASCII表中对应符号M)


【例子】使用八进制值“\0115”匹配字母“M

(八进制值用\0作为前缀)

.......................测试不成功不知道哪里出错了,以后再补...............................


POSIX字符类

JavaScript不支持POSIX的使用,POSIX可能用的比较少,这里只做一个描述的表格
字符类 说明
[:alnum:] 任何一个字母或数字(等价于[a-zA-Z0-9])
[:alpha:] 任何一个字母(等价于[a-zA-Z])
[:blank:] 空格或制表符(等价于[\t ])
[:cntrl:] ASCII控制字符(详情看ASCII表)
[:digit:] 任何一个数字(等价于[0-9])
[:graph:] 和[:print:]基本一致,但不包括空格
[:lower:] 任何一个小写字母(等价于[a-z])
[:print:] 任何一个可打印字符
[:punct:] 不属于[:alnum:],也不属于[:cntrl:]的其他字符
[:space:] 任何一个空白字符
[:upper:]
任何一个大写字母(等价于[A-Z])
[:xdigit:] 任何一个十六进制数字(等价于[a-fA-F0-9])
举个例子: