Index: django/core/urlresolvers.py
===================================================================
--- django/core/urlresolvers.py	(revision 5619)
+++ django/core/urlresolvers.py	(working copy)
@@ -10,6 +10,7 @@
 from django.http import Http404
 from django.core.exceptions import ImproperlyConfigured, ViewDoesNotExist
 from django.utils.encoding import iri_to_uri
+from django.utils.encoding import force_unicode
 from django.utils.functional import memoize
 import re
 
@@ -127,9 +128,9 @@
             test_regex = grouped
         # Note we're using re.match here on purpose because the start of
         # to string needs to match.
-        if not re.match(test_regex + '$', str(value)): # TODO: Unicode?
+        if not re.match(test_regex + '$', force_unicode(value)):
             raise NoReverseMatch("Value %r didn't match regular expression %r" % (value, test_regex))
-        return str(value) # TODO: Unicode?
+        return force_unicode(value)
 
 class RegexURLPattern(object):
     def __init__(self, regex, callback, default_args=None, name=None):
