Sembra una vecchia domanda, quindi forse hai già una soluzione, ma ecco come ho gestito lo stesso problema:
@Query(value = "{'title': {$regex : ?0, $options: 'i'}}")
Foo findByTitleRegex(String regexString);
utilizzando il /?0/
la notazione non funzionerà poiché Spring Data inserisce un valore String tra virgolette