擅长:python、mysql、java
<p>尝试:</p>
<pre><code>(r'^testapi/(?P<type>type1|type2|type3)/(?P<subtype>subtype\d+|)/?$', my_handler)
>> testapi/type2/
>> [('type2', '')]
>> testapi/type2/subtype1/
>> [('type2', 'subtype1')]
>> testapi/type2/subtype1
>> [('type2', 'subtype1')]
</code></pre>
<p><code>(?P<subtype>subtype\d+|)</code>将捕获<code>subtype<number></code>或<code><empty string></code>。你知道吗</p>
<p>如果您想使regex更加灵活,可以替换以下内容:</p>
<ul>
<li><code>(?P<subtype>subtype\d+|)</code>>;<code>(?P<subtype>\w+|)</code></li>
<li><code>(?P<type>type1|type2|type3)</code>>;<code>(?P<type>\w+)</code></li>
</ul>
<p>这些替换将不要求您的url包含<em>子类型</em>和<em>类型</em>并接受任何字符串。你知道吗</p>