你可以使用正则表达式来检查一个字符串是否符合十六进制表示法。下面是一个示例函数:
import re
def is_hex_string(s):
pattern = re.compile(r'^[0-9A-Fa-f]+$')
return bool(re.match(pattern, s))
这个函数使用re.match()函数来检查字符串s是否符合正则表达式^[0-9A-Fa-f]+$,该正则表达式表示字符串只包含0-9、A-F或a-f这些字符。如果字符串符合要求,re.match()函数会返回一个Match对象,然后使用bool()函数将其转换为True;否则,返回False。
以下是一些示例和它们的输出:
print(is_hex_string('1234ABCD')) # True
print(is_hex_string('1234abcd')) # True
print(is_hex_string('12345G')) # False
print(is_hex_string('0x1234')) # False
输出结果:
True
True
False
False
注意:这个函数只检查字符串是否符合十六进制表示法的语法规则,但并不意味着它代表一个有效的十六进制数值。
下一篇:编写一个函数来检查质数。