<p>别让正则表达式吓跑你。。。这很值得学习。在</p>
<p>根据上面的示例,您可以尝试将尾部括号放回,然后使用以下模式:</p>
<pre><code>import re
pat = re.compile('([\w\s]+)\(([\w\s]+)(\d+/\d+)\)')
info = pat.match(s)
print info.groups()
('Michael Schenker Group ', 'House of Blues Dallas ', '3/26')
</code></pre>
<p>要获取每个组的个体,只需在<code>info</code>对象上调用它们:</p>
^{pr2}$
<p>在这种情况下,regex的难点在于确保知道标题中所有已知的可能字符。如果“Michael Schenker Group”部分中有非alpha字符,则必须调整该部分的regex以允许它们。在</p>
<p>上面的模式分解如下,从左到右进行解析:</p>
<p><code>([\w\s]+)</code>:匹配任何单词或空格字符(加号表示应该有一个或多个这样的字符)。括号表示匹配项将作为一个组捕获。这是“迈克尔·申克集团”的一部分。如果这里可以有数字和破折号,您需要修改方括号之间的部分,这是集合的可能字符。在</p>
<p><code>\(</code>:文字括号。反斜杠将转义圆括号,因为否则它将被视为正则表达式命令。这是字符串的“(”部分。在</p>
<p><code>([\w\s]+)</code>:与上面的一样,但这次匹配的是“达拉斯蓝军之家”部分。在括号中,这样他们将被捕获为第二组。在</p>
<P> ^ {CD5>}:将数字3和26与中间的斜线匹配。在括号中,这样他们将被捕获为第三组。在</p>
<p><code>\)</code>:上面的右括号。在</p>
<p>python对regex的介绍相当不错,您可能需要花一个晚上的时间来复习一下<a href="http://docs.python.org/library/re.html#module-re" rel="nofollow noreferrer">http://docs.python.org/library/re.html#module-re</a>。另外,查看divinto Python,它有一个友好的介绍:<a href="http://diveintopython3.ep.io/regular-expressions.html" rel="nofollow noreferrer">http://diveintopython3.ep.io/regular-expressions.html</a>。在</p>
<p>编辑:见下面的扎切拉蒂,他有一些不错的编辑。两个脑袋总比一个好!在</p>