Python - 如何检查字符串是否为HEX颜色代码

时间:2015-05-14 15:36:02

标签: hex python-2.5

我需要你的帮助!

我有点关于python和" hex"。

我有一个网站,人们可以为他们的消息输入他们自己的HEX-Color。

所以目前我已经内置了所有东西,除了" isHEXColor"检查..

我真的不知道我怎么能确定用户提供了有效的HEX-Color-Code。

目前我只是检查len是否是6位数,仅此而已。

if not len(color) == 6: return error("HEX-Color" must contain 6 characters")
你可以帮助我吗? 它应该适用于Python 2.5!

2 个答案:

答案 0 :(得分:9)

您可以使用正则表达式:

^#(?:[0-9a-fA-F]{3}){1,2}$

在python https://docs.python.org/2/library/re.html

中使用正则表达式
import re
str = '#ffffff' # Your Hex

match = re.search(r'^#(?:[0-9a-fA-F]{3}){1,2}$', str)

if match:                      
  print 'Hex is valid'

else:
  print 'Hex is not valid'

答案 1 :(得分:3)

teoreda使用正则表达式的主张对我来说似乎很好,但我认为正确的正则表达式是相反的:

^#(?:[0-9a-fA-F]{1,2}){3}$

(每种颜色(r,g和b)有1或2位数,有3种颜色)