擅长:python、mysql、java
<p>您可以使用捕获组和反向引用:</p>
<pre><code>re.sub(r"([characters])", r"\1\1", text.read())
</code></pre>
<p>在<code>[]</code>之间放置要加倍的字符。对于小写<code>a</code>,<code>b</code>,<code>c</code>:</p>
<pre><code>re.sub(r"([abc])", r"\1\1", text.read())
</code></pre>
<p>在替换字符串中,可以引用与捕获组<code>()</code>匹配的任何内容,其中<code>n</code>是一些<strong>正的</strong>整数(不包括0)。<code>\1</code>指第一个捕获组。还有另一个符号<code>\g<n></code>,其中<code>n</code>可以是任何非负整数(允许为0);<code>\g<0></code>将引用与表达式匹配的整个文本。</p>
<hr/>
<p>如果要将除新行以外的所有字符加倍:</p>
<pre><code>re.sub(r"(.)", r"\1\1", text.read())
</code></pre>
<hr/>
<p>如果要将所有字符(包括新行)加倍:</p>
<pre><code>re.sub(r"(.)", r"\1\1", text.read(), 0, re.S)
</code></pre>