擅长:python、mysql、java
<p>如果您不是在寻找将任何正则表达式转换为格式字符串的通用解决方案,而是可以硬编码的解决方案:</p>
<pre><code>twitter_url = 'twitter.com/%(username)s/' % {'username': 'dir01'}
</code></pre>
<p>…应该给你你需要的。你知道吗</p>
<p>如果您想要一个更通用(但不是难以置信的健壮解决方案):</p>
<pre><code>import re
def format_to_re(format):
# Replace Python string formatting syntax with named group re syntax.
return re.compile(re.sub(r'%\((\w+)\)s', r'(?P<\1>\w+)', format))
twitter_format = 'twitter.com/%(username)s/'
twitter_re = format_to_re(twitter_format)
m = twitter_re.search('twitter.com/dir01/')
print m.groupdict()
print twitter_format % m.groupdict()
</code></pre>
<p>给了我:</p>
<pre><code>{'username': 'dir01'}
twitter.com/dir01/
</code></pre>
<p>最后,在<code>Pattern</code>类<a href="http://github.com/mikeboers/Nitrogen/blob/master/nitrogen/route/rerouter.py" rel="nofollow noreferrer">here</a>中可以找到我自己使用的稍微大一些、更完整的解决方案。你知道吗</p>