<pre><code>import re
text = "Me[Unknown] temo[Unknown] que[Unknown] buscare[Unknown] otras[Unknown] opciones[Unknown] esta[Unknown] nunca[ADV+NEG+H_CIRCONSTANT_TEMPS+C_TPS_FREQUENCE+SC_FREQUENCE_FORTE]más[ADV+comp+PADV+H_CIRCONSTANT_QUANTITE+C_QNT_FORTE] compraré[V+H_PREDICAT_ACTION+C_PREDICAT_TRANSACTION+SC_TRANSACTION_ACHAT] buscare[INCONNU] otras[INCONNU] opciones[INCONNU] por[INCONNU] la[INCONNU] calidad[INCONNU] de[INCONNU] la[INCONNU] luz[INCONNU]"
regex = re.findall(r"([A-Za-z\[\] ]+)\] (\w+)\[ADV\+NEG\+H_CIRCONSTANT_TEMPS.*?\](\w+)\[ADV\+comp\+PADV\+H_CIRCONSTANT_QUANTITE.*?\](?: )(\w+)\[V\+H_PREDICAT_ACTION\+C_PREDICAT_TRANSACTION.*?\]", text)
print(' '.join(regex[0][1:]))
</code></pre>
<p>我刚刚纠正了正则表达式中的几个错误:</p>
<ol>
<li>您使用了<code>(\w+)</code>来匹配<code>nunca</code>之前的字符,但是\w不匹配<code>[</code>或<code>]</code>,所以我使用了<code>([A-Za-z\[\] ]+)\]</code>,它匹配字母表、大括号和空格</li>
<li>你已经使用了<code>/(\w+)</code>其中<code>\w+</code>来匹配你的单词,但是<code>/</code>之前的<code>(\w+)</code>是不必要的,它不会找到你想要的结果</li>
<li>最后,您忘记在上次匹配时使用转义字符,因为您使用了<code>[V+H_PREDICAT_ACTION+C_PREDICAT_TRANSACTION.*?\]</code>,所以我使用<code>\+</code>而不是<code>+</code>来转义字符<code>+</code>。你知道吗</li>
</ol>
<p>因此,应用修复程序将得到以下结果:</p>
<pre><code>nunca más compraré
</code></pre>