编程语言中十六进制的正则匹配
程序员文章站
2022-05-19 09:20:52
它由0-9,a-f,组成。与10进制的对应关系是:0-9对应0-9;a-f对应10-15;n进制的数可以用0---(n-1)的数表示超过9的用字母a-f。 也就是由字符:0...
它由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
也就是由字符: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