title: username with `james i. adams` not accepted with django routers
body: <p>I have registered routers for <code>user</code> model, which has viewset that has lookup_url as <code>username</code>.
  The username <code>james adams</code> is accepted by the router, but getting below error for <code>james i. adams</code></p>
  <pre class="lang-py prettyprint-override"><code>django.urls.exceptions.NoReverseMatch: Reverse for 'user-detail' with keyword arguments '{'username': 'james i. adam', 'version': 'v1'}' not found. 4 pattern(s) tried: ['(?P&lt;version&gt;(v4))/users/(?P&lt;username&gt;[^/.]+)/?\\.(?P&lt;format&gt;[a-z0-9]+)/?$', '(?P&lt;version&gt;(v4))/users/(?P&lt;username&gt;[^/.]+)/?$', '(?P&lt;version&gt;(v1))/users/(?P&lt;username&gt;[^/.]+)/?\\.(?P&lt;format&gt;[a-z0-9]+)/?$', '(?P&lt;version&gt;(v1))/users/(?P&lt;username&gt;[^/.]+)/?$'] 
  </code></pre>
  <p>Can someone guide me, how can I allow such username for url patterns with routers registered?</p>
  <p>Thanks in Advance</p>