<p>这就是你想做的吗?如果是这样,您可能不需要正则表达式</p>
<pre><code>txt = '''PERSONALDETAILS TESTY MCTESTER 123 TEST DRIVE...
PERSONALDETAILS THIS IS THE SECOND LINE IN THE TXT FILE...
PERSONALDETAILS THIS IS THE THIRD LINE IN THE SAMPLE TXT FILE...
PERSONALDETAILS THE FOURTH LINE IN TXT FILE...
THIS LINE DOES NOT STARTWITH PERSONALDETAILS...
PERSONAL DETAILS THIS LINE STARTS BUT HAS A SAPCE INBETWEEN...
PERSONALDETAILS LINE SEVEN OF TXT FILE...'''
replaced_txt = ''
print (txt)
for x in txt.split('\n'):
if x.startswith('PERSONALDETAILS'):
replaced_txt += ''.join([x[:16],'*' * (len(x) - 18),x[-3:],'\n'])
else:
replaced_txt += x + '\n'
print (replaced_txt)
</code></pre>
<p>其输出将为:</p>
<p>原始文件:</p>
<pre><code>PERSONALDETAILS TESTY MCTESTER 123 TEST DRIVE...
PERSONALDETAILS THIS IS THE SECOND LINE IN THE TXT FILE...
PERSONALDETAILS THIS IS THE THIRD LINE IN THE SAMPLE TXT FILE...
PERSONALDETAILS THE FOURTH LINE IN TXT FILE...
THIS LINE DOES NOT STARTWITH PERSONALDETAILS...
PERSONAL DETAILS THIS LINE STARTS BUT HAS A SAPCE INBETWEEN...
PERSONALDETAILS LINE SEVEN OF TXT FILE...
</code></pre>
<p>修改文件:</p>
<pre><code>PERSONALDETAILS ******************************...
PERSONALDETAILS ****************************************...
PERSONALDETAILS **********************************************...
PERSONALDETAILS ****************************...
THIS LINE DOES NOT STARTWITH PERSONALDETAILS...
PERSONAL DETAILS THIS LINE STARTS BUT HAS A SAPCE INBETWEEN...
PERSONALDETAILS ***********************...
</code></pre>