擅长:python、mysql、java
<p>使用<code>set</code>和<code>findall</code>查找所有唯一元素</p>
<pre><code>([^\s]+)(?=\s+(?:n|v|a|adv)$)
</code></pre>
<p><strong><a href="https://regex101.com/r/cF1kC8/2" rel="nofollow">Regex Demo</a></strong></p>
<p><em>Python代码</em></p>
<pre><code>p = re.compile(r'([^\s]+)(?=\s+(?:n|v|a|adv)$)', re.MULTILINE)
test_str = "2689 3015 worth n\n1095 9183 worth prep\n4659 1314 worthwhile a\n4503 1394 worthy a\n36 272345 would modal\n3404 2077 wound n\n4789 1263 wound v\n3174 2319 wrap v\n4257 1508 wrist n\n223 41497 write v\n1329 7309 writer n\n1939 4727 writing n\n2483 3390 written a\n723 14274 wrong a\n5771 930 wrong adv\n5544 995 wrong n\n5774 929 x-ray n\n4424 1426 yacht n\n1510 6360 yard n\n5354 1056 yarn n"
print(set(re.findall(p, test_str)))
</code></pre>
<p><strong><a href="http://ideone.com/RKbNNb" rel="nofollow">IDEONE DEMO</a></strong></p>