擅长:python、mysql、java
<p>可以将<code>re.sub</code>与此正则表达式一起使用:</p>
<pre><code>>>> print (re.sub(r'([^:\n]*:[^:\n]*\n)\s*:(.+)', r'\1\2', st))
emp:firstinfo
secondinfo
thirdinfo
</code></pre>
<p><a href="https://regex101.com/r/4LIdw5/1" rel="nofollow noreferrer">RegEx Demo</a></p>
<p><strong>正则表达式详细信息:</strong></p>
<ul>
<li><code>(</code>:启动第一个捕获组
<ul>
<li><code>[^:\n]*</code>:匹配0个或更多不是<code>:</code>和换行符的字符</li>
<li><code>:</code>:匹配冒号</li>
<li><code>[^:\n]*</code>:匹配0个或更多不是<code>:</code>和换行符的字符</li>
<li><code>\n</code>:匹配新行</li>
</ul></li>
<li><code>)</code>:结束第一个捕获组</li>
<li><code>\s*</code>:匹配0个或更多的空白</li>
<li><code>:</code>:匹配冒号</li>
<li><code>(.+)</code>:匹配第二个捕获组中的一个或多个字符(除了换行符)</li>
<li><code>\1\2</code>:用于<strong>替换</strong>以放回组1和组2中捕获的子串。你知道吗</li>
</ul>