Unless you want some funny behaviour, I would recommend you use \w instead of .
. matches whitespace and other non-word symbols, which you might not want it to do.
So I would replace ? with \w and replace * with \w*
Also if you want * to match at least one character, replace it with \w+ instead. This would mean that ben* would match bend and bending but not ben – it’s up to you, just depends what your requirements are.