我想出了:
re.findall("([a-fA-F\d]*)", data)
但这并不是很愚蠢,有没有更好的方法来获取所有的MD5哈希码?
发布于 2008-12-16 23:51:03
嗯,由于md5只是一个32位十六进制数字的字符串,所以您可以添加到表达式中的所有内容都是对"32位数“的检查,可能是这样的?
re.findall(r"([a-fA-F\d]{32})", data)
发布于 2008-12-17 00:31:30
在Python语言中使用正则表达式时,应几乎始终使用原始字符串语法r"..."
re.findall(r"([a-fA-F\d]{32})", data)
这将确保字符串中的反斜杠不会被常规的Python转义解释,而是传递给re.findall
函数,以便它可以逐字看到\d
。在这种情况下,幸运的是Python转义不会解释\d
,而像\b
(在Python转义和正则表达式中具有完全不同的含义)这样的东西会被解释。
有关详细信息,请参阅re
module documentation。
发布于 2008-12-16 23:51:00
"(a-fA-F\d{ 32 })“要求长度为32个字符,怎么样?
https://stackoverflow.com/questions/373194
复制相似问题