我有一个读取十六进制字符串的程序,并根据字符串的参数返回文本。十六进制字符串如下:
A : B : C
A - B的长度
B - 界面名称
C - 不重要
所以例如;
0465746830010000 =
04 : 65746830 : 010000 =
4 : eth0 : __________
现在,我想处理十六进制字符串,这样如果有一个不在字母表中的字符,0-9或' - ',它会让我知道。
如:
0266010000
02 : 6601 : _______
2 : f[unreadable] : _______
有关如何处理此问题的任何想法,以便让我知道这些参数之外的任何字符是否出现?
答案 0 :(得分:0)
快速正则表达式可以做到这一点,例如在java:
中myString.matches([0-9a-fA-F]*)
如果整个字符串由十六进制数字组成,将返回true
,如果有其他字符,则返回false
。
另外,为什么要接受-
字符?这些字符串应该(如果设计得当)包含数字的 unsigned 表示。如果它们不受你的控制,那么我想你只需处理它,但仍然。