Webflags: gi

CSS rgb() Color

Match CSS rgb() and rgba() color functions, including an optional alpha channel.

Try it in RegexPro →

Available in

JavaScript / ECMAScript code

jsJavaScript
const re = new RegExp("rgba?\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}(?:\\s*,\\s*(?:0|1|0?\\.\\d+))?\\s*\\)", "gi");
const input = "rgb(255, 87, 51)";
const matches = [...input.matchAll(re)];
console.log(matches.map(m => m[0]));

Uses `String.prototype.matchAll` for global iteration (Node 12+ / all modern browsers).

Pattern

regexengine-agnostic
rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)   (flags: gi)

Raw source: rgba?\(\s*\d{1,3}\s*,\s*\d{1,3}\s*,\s*\d{1,3}(?:\s*,\s*(?:0|1|0?\.\d+))?\s*\)

How it 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

Common use cases

  • Stylesheet color extraction
  • Design token migration
  • Theme color auditing
  • CSS-in-JS transform tooling

Related patterns