CSS rgb() Color in PY
Match CSS rgb() and rgba() color functions, including an optional alpha channel.
Try it in the PY tester →Pattern
regexPY
rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\) (flags: gi)Python (re) code
pyPython
import re
pattern = re.compile(r"rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)", re.IGNORECASE)
input_text = "rgb(255, 87, 51)"
for m in pattern.finditer(input_text):
print(m.group(0))Stdlib `re` module — no third-party dependency. Works on Python 3.6+.
How the pattern works
Matches rgb( or rgba( followed by three comma-separated 1–3 digit components and an optional fourth alpha component (0, 1, or decimal).
Examples
Input
rgb(255, 87, 51)Matches
rgb(255, 87, 51)
Input
rgba(0, 0, 0, 0.5)Matches
rgba(0, 0, 0, 0.5)
Input
color: blue;No match
—