擅长:python、mysql、java
<p>如果我正确理解了您的问题,并且您可以假设单词总是在标记之前,那么您可以使用<code>r'^(\w+ ){1,3}#\w+ #\w+'</code>:</p>
<pre><code>for s in ('Makeupby Antonia #makeup #makeupartist #makeupdolls #abhcosmetics',
'Makeupby Antonia asia #makeup #makeupartist #makeupdolls',
'Makeupby Antonia',
'#makeup #makeupartist #makeupdolls #abhcosmetics',
'Makeupby Antonia asia america #makeup #makeupartist',):
print(bool(re.search(r'^(\w+ ){1,3}#\w+ #\w+', s)), s, sep=': ')
</code></pre>
<p>这将输出:</p>
<pre><code>True: Makeupby Antonia #makeup #makeupartist #makeupdolls #abhcosmetics
True: Makeupby Antonia asia #makeup #makeupartist #makeupdolls
False: Makeupby Antonia
False: #makeup #makeupartist #makeupdolls #abhcosmetics
False: Makeupby Antonia asia america #makeup #makeupartist
</code></pre>