看起来我需要一些正则表达式的帮助来匹配RGB值.我已经构建了以下表达式但它找不到匹配项.它也不够,因为我需要扩展它以检查三位数,并且只存在0-255值.
例如.以下是我需要匹配的所有有效值:
0,0,0
0, 0, 0
255,255,255
255, 255, 255
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止:
expression = re.compile(r'(\\d+),(,),(\\d+),(,),(\\d+)')
expression.match(text)
Run Code Online (Sandbox Code Playgroud)
您可以使用正则表达式确保数字在0到255之间,但我强烈建议不要使用它.这里更简单的方法是使用正则表达式捕获数字,并通过简单地转换为int并比较来检查它们是否在0到255之间:
>>> import re
>>> r = r"(\d+),\s*(\d+),\s*(\d+)"
>>> re.match(r, "0, 254,10").groups()
('0', '254', '10')
>>> all(0 <= int(group) <= 255 for group in re.match(r, "0, 254,10").groups())
True
>>> all(0 <= int(group) <= 255 for group in re.match(r, "0,256, 190").groups())
False
Run Code Online (Sandbox Code Playgroud)