擅长:python、mysql、java
<p>与其编写一个复杂的regex,而不是在所有情况下都能正常工作,不如使用工具来分析url,比如<code>urllib</code>:</p>
<pre><code>from urllib.parse import urlparse, parse_qs
url = 'http://youtube.com/watch?v=iwGFalTRHDA'
def get_id(url):
u_pars = urlparse(url)
quer_v = parse_qs(u_pars.query).get('v')
if quer_v:
return quer_v[0]
pth = u_pars.path.split('/')
if pth:
return pth[-1]
</code></pre>
<p>如果两次尝试都失败,此函数将返回<code>None</code>。在</p>
<p>我用示例URL进行了测试:</p>
^{pr2}$