#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?im)(?#https://regex101.com/r/eO8pP0/)(?(DEFINE)(?<hex>[a-fA-F\d])(?<hue>[+-]?(?:\d{1,8}(?:\.\d{0,8})?|\.\d{0,8}))(?<percent>(?:\d{1,2}|100)%)(?<channel>(?&percent)|25[0-5]|2[0-4]\d|[0-1]\d\d|\d{1,2})(?<rgb>\h*(?&channel)\h*(?:,\h*(?&channel)\h*){2})(?<hsl>\h*(?&hue)\h*(?:,\h*(?&percent)\h*){2})(?<alpha>1(?:\.0*)?|0?\.\d{1,8}|0))^(?:#(?:(?&hex){6}|(?&hex){3})|rgb\h*\((?&rgb)\)|hsl\h*\((?&hsl)\)|rgba\h*\((?&rgb),\h*(?&alpha)\h*\)|hsla\h*\((?&hsl),\h*(?&alpha)\h*\)|inherit|initial|transparent|unset|current[cC]olor|(?# Named colors)aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen)$"
Local $sString = "red" & @CRLF & _
"#f00" & @CRLF & _
"#ff0000" & @CRLF & _
"rgb(255,0,0)" & @CRLF & _
"rgb(100%, 0%, 0%)" & @CRLF & _
"hsl(0, 100%, 50%)" & @CRLF & _
"hsl(0., 100%, 50%)" & @CRLF & _
"hsl(.0, 100%, 50%)" & @CRLF & _
"hsl(0.0, 100%, 50%)" & @CRLF & _
"rgba(255, 0, 0, 0.5)" & @CRLF & _
"hsla(0, 100%, 50%, 0.5)" & @CRLF & _
"red" & @CRLF & _
"orange" & @CRLF & _
"antiquewhite" & @CRLF & _
"#0f0" & @CRLF & _
"#00ff00" & @CRLF & _
"rgba( 34, 12, 64, 0.3)" & @CRLF & _
"currentcolor" & @CRLF & _
"inherit" & @CRLF & _
"initial" & @CRLF & _
"unset"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm