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)/