preg_match("/^#[01-9A-F]{6}$/", $sColor)
En este caso, solo necesita agregar los dos delimitadores. En perl puede escribir algo como
if (s =~ /x.+y/) { print "match"; }
Como puede ver, la expresión regular real se encapsula en //. Si desea establecer una opción en la expresión regular, colóquela después de la segunda /, p. cambiando la expresión a no codificado por defecto /x.+y/U
pcre ahora emula este comportamiento. Aunque debe llamar a una función, también debe proporcionar los delimitadores y establecer las opciones después del segundo delimitador. En perl, el delimitador tiene que ser /, con pcre puede elegir libremente
preg_match("/^#[01-9A-F]{6}$/", $sColor)
preg_match("!^#[01-9A-F]{6}$!", $sColor)
preg_match("#^\#[01-9A-F]{6}$#", $sColor) // need to escape the # within the expression here
preg_match("^#[01-9A-F]{6}$", $sColor)
de la misma manera que pcre, es mejor elegir un carácter que no aparezca dentro de la expresión.
interesante escribir 01-9, ¿por qué no 0-9? – VolkerK