using /i at the end or (?i) within a regex will make it case insensitive.
OR is implemented in a regex by using the pipemark | i.e
/(this|that|whatever)/ ...would match this OR that OR whatever
for AND use..
/(?=.*this)(?=.*that)(?=.*whatever)/
and NOT can be done with...
/^(?!.*dontmatch)/