I don't really understand this function, as far as I can see it uses regexp then for almost any property? Perhaps you can explain how it should work and choose a better method name?