擅长:python、mysql、java
<pre><code>regex = re.compile(r"""
^ # Start of line (re.M modifier set!)
( # Start of capturing group 1:
(?:nsubj|rcmod|ccomp|acomp) # Match one of these
\( # Match (
([^-]*) # Match and capture in group 2 any no. of non-dash characters
-\d+,[ ] # Match a dash and a number, a comma and a space
([^-]*) # Match and capture in group 3 any no. of non-dash characters
-\d+ # Match a dash and a number
\) # Match )
) # End of group 1""", re.M|re.X)
</code></pre>
<p>如果我能正确理解你的要求就行了。你知道吗</p>
<p>当应用于整个文件(<code>s = myfile.read()</code>)时,会得到以下结果:</p>
<pre><code>>>> regex.findall(s)
[('nsubj(believe-4, i-1)', 'believe', 'i'),
('acomp(believe-4, @mistamau-5)', 'believe', '@mistamau'),
('ccomp(@mistamau-5, know-8)', '@mistamau', 'know'),
('nsubj(is-12, tatum-11)', 'is', 'tatum'),
('ccomp(know-8, is-12)', 'know', 'is'),
('rcmod(people-4, talking-7)', 'people', 'talking')]
</code></pre>