Cela semble être une vieille question, alors peut-être avez-vous déjà eu une solution, mais voici comment j'ai traité le même problème :
@Query(value = "{'title': {$regex : ?0, $options: 'i'}}")
Foo findByTitleRegex(String regexString);
en utilisant le /?0/
la notation ne fonctionnera pas car Spring Data place une valeur String avec des guillemets