擅长:python、mysql、java
<p>我们可能希望在这里设计的表达方式相当复杂。也许,最好将任务分解,然后设计更简单的表达式。例如,<code>THE LULU</code>在我们通过regex引擎运行它之前,可以简单地排除这种情况。你知道吗</p>
<p>我对表达式的部分尝试是:</p>
<pre><code>^([A-Z\s]{3,}?)(&.+|\s[A-Z]{1}$|-.+|\s[A-Z]{3}\s.+|\s[0-9].+|\s[~!@#$%^&*]+.+)$
</code></pre>
<p>但是,我敢肯定,它不会在其他一些输入,我们可能已经和这里没有列出的工作。你知道吗</p>
<h3><a href="https://regex101.com/r/QrYmpi/1/" rel="nofollow noreferrer">DEMO</a></h3>
<hr/>
<p>这个想法有三个步骤:</p>
<ul>
<li>我们把那些很容易找到/过滤掉的,比如“露露”</li>
<li>我们添加了一个具有最多边界的捕获组<code>^([A-Z\s]{3,}?)</code></li>
<li>我们添加另一组子表达式,这些子表达式与逻辑OR相连接,并在字符串的末尾过滤出我们想要的内容。你知道吗</li>
</ul>
<p><a href="https://i.stack.imgur.com/4FKhs.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/4FKhs.png" alt="enter image description here"/></a></p>