擅长:python、mysql、java
<p>你可以用</p>
<pre><code>compiled = re.compile(r'#\w*')
compiled.findall(line)
</code></pre>
<p>输出:</p>
^{pr2}$
<p>但是有一个问题。如果搜索类似<code>'blahblahblah #Syrup #nshit #thebluntislit beg#end'</code>的字符串,输出将是<code>['#Syrup', '#nshit', '#thebluntislit', '#end']</code>。在</p>
<p>这个问题可以通过使用正向回溯来解决:</p>
<pre><code>compiled = re.compile(r'(?<=\s)#\w*')
</code></pre>
<p>(在这里不可能使用<code>\b</code>(单词边界),因为<code>#</code>不在<code>
\w</code>符号<code>[0-9a-zA-Z_]</code>之间,这可能构成正在搜索的边界的单词)。在</p>