擅长:python、mysql、java
<p>你的正则表达式确实错了。你知道吗</p>
<p>使用表达式<code>id=(.*)&fref=ts</code>只能按字面匹配由<code>&fref=ts</code>继承的id。你知道吗</p>
<p>使用<code>id=(.*).+?(?=&fref=ts)</code>可以做同样的事情,但是使用lookahead,这是一个非捕获组表达式。这意味着你的匹配只会是<code>id=blablabla</code>部分,但前提是它被<code>&fref=ts</code>取代。你知道吗</p>
<p>此外,<code>id=(.*)</code>将匹配由数字、字母、符号组成的ID。。。什么都可以。使用<code>id=\d+</code>将匹配“仅数字”ID。你知道吗</p>
<p>所以,试着用</p>
<pre><code>result = re.search('id=(\d+)', qry)
</code></pre>
<p>它将允许您仅捕获数字,假设您的id始终是数字,并且仅捕获(使用括号)这些数字以供以后使用。你知道吗</p>
<p>有关更多参考,请参阅
<a href="http://www.regular-expressions.info/python.html" rel="nofollow noreferrer">http://www.regular-expressions.info/python.html</a></p>