Regulární výraz musíte sestavit programově. Takže buď:
import re
regex = re.compile('^' + re.escape(variable))
items = collection.find({ 'key': regex })
NEBO
items = collection.find({'key': { '$regex': '^' + re.escape(variable) }})
Všimněte si, že kód používá re.escape
pro escapování řetězce v případě, že obsahuje speciální znaky.