擅长:python、mysql、java
<p><code>.*</code>是<a href="https://stackoverflow.com/questions/2301285/what-do-lazy-and-greedy-mean-in-the-context-of-regular-expressions">greedy</a>,这意味着它将使用尽可能多的字符。使用<code>.*?</code>使其变懒,从而允许后面的<code>(Ord. 1150)</code>匹配,并在末尾添加一个<code>$</code>,以确保阅读整个文本(在某种意义上,抵消<code>.*?</code>的影响)。你知道吗</p>
<pre><code>>>> string = u'No aprobó ni está inscripto a Sistemas Operativos (Ord. 1150)'
>>> re.match(ur'No aprobó ni está inscripto a (.*?)( \(Ord\. 1150\))?$',
string).groups()
(u'Sistemas Operativos', u' (Ord. 1150)')
</code></pre>