擅长:python、mysql、java
<blockquote>
<pre class="lang-none prettyprint-override"><code>/[' \n \t\r]|(\xa0)/g
</code></pre>
</blockquote>
<p>这是sed或Vim等工具使用的语法,而不是Python的<code>re</code>模块</p>
<p>与之相当的是</p>
<pre><code>print(re.sub(r"[' \n \t\r]|(\xa0)", '', random_string))
</code></pre>
<p>哪张照片</p>
<pre class="lang-none prettyprint-override"><code>uhhaha-yesnopetuben1337
</code></pre>
<p>离这里不远,但你也删除了所有的空格</p>
<p>如果不删除空格</p>
<pre><code>print(re.sub(r"['\n\t\r]|(\xa0)", '', random_string))
</code></pre>
<p>你得到</p>
<pre class="lang-none prettyprint-override"><code>uh haha - yes nope tuben1337
</code></pre>
<p>它有太多的空间</p>
<p>一种解决方案是使用<em>逆</em>正则表达式(它匹配您希望<em>保留</em>的字符运行)和<code>re.findall</code>来获得单词列表,然后您可以重新加入:</p>
<pre><code>result = re.findall(r"[^' \n\t\r\xa0]+", random_string)
print(' '.join(result))
</code></pre>
<p>哪张照片</p>
<pre class="lang-none prettyprint-override"><code>uh haha - yes nope tuben 1337
</code></pre>