Please use parameters and not string concatenation!
MATCH (n.Keywords) WHERE n.kw =~ {regexp} RETURN n
$params = array("regexp" => $temp)
You can store regexp-strings in node properties and check them against string-values, and the other way round, sure.
It's not clear what kind of regexp you are looking for though.
In general if you look for several words, something like this (Halo|Mustang)
would be used.