你可以使用正则表达式来检查一个字符串是否符合十六进制表示法。下面是一个示例函数:
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
注意:这个函数只检查字符串是否符合十六进制表示法的语法规则,但并不意味着它代表一个有效的十六进制数值。
下一篇:编写一个函数来检查质数。