编程语言中十六进制的正则匹配

作者:enenba | 发表于:2012-05-23 23:25 | 分类:正则表达式

十六进制是计算机中数据的一种表示方法。同我们日常中的十进制表示法不一样。它由0-9,A-F,组成。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0---(N-1)的数表示超过9的用字母A-F。

也就是由字符:012345679ABCDEF 组成

C语言中的16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也不区分大小写。(注意:0x中的0是数字0,而不是字母O)

 

所以C或C++等编程语言的正则匹配为:

\b0[xX][0-9a-fA-F]+\b

他可以匹配

0xDEADBEEF
0xdeadbeef
0XDEADBEEF
0Xdeadbeef
0x12345678

不可以匹配

12345678
deadbeef

end

附件下载/演示源码:
Hex_number.htm5.1KB

上一篇: 使用Snoopy来获取某网页的所有链接   |   下一篇:php采集百度某关键词搜索结果的网址» 标签: 正则 正则匹配 十六进制

评论: