In Python 2, re.escape() works with either str or unicode, but in Python 3, it no longer works with bytes(). I've created issue 3756 to track this: http://bugs.python.org/issue3756 -- Andrew McNamara, Senior Developer, Object Craft http://www.object-craft.com.au/