I've tried this with Memos, Contacts and Tasks.
Everytime I do a find with a FilterExpression using a REGEX as the operator, it crashes if any item during the search has a double-quote char inside the field being evaluated.
Without REGEX everything worksfine.
With REGEX and comparing other fields also works fine.
Everything also works in case there are no entries with any double-quote characters (that's why I missed this bug for so long).
If an entry has a double-quote character in the field being searched, it doesn't matter if it matches the REGEX or not, it always throws an exception, thus making it useless.
Hope I managed to give a clear explanation of the problem.
My Java skills are too rusty, but I suppose there might be some chars not getting escaped before passing the strings to some functions... just a guess :)