1. 程式人生 > >Python 正則表示式替換應用 (用文字中一部分替換另一部分)

Python 正則表示式替換應用 (用文字中一部分替換另一部分)

import re

fobj = open('bws.html', 'r')
subject = fobj.readlines()
fobj.close()

all = []
fobj = open('bws.html.new', 'w')
for eachLine in subject:
    result = re.sub(r'<a href="(.*?)"> (.*?) <', r'<a href="\2.txt"> \2 <', eachLine)
    all.append(result)
fobj.write(''.join(all))
fobj.close()
cat bws.html
<tr>
<td align="left"> <a href="abc.txt"> pica8PvstFunc_01_02 </a> </td>
<td align="left"> PVST interface parameters configuring test. </td>
<td align="left"> 00:01:38 </td>
<td align="left" bgcolor="#00FF00"> pass </td>
<td align="left">
 
</td>
</tr>
<tr>
<td align="left"> <a href="abc.txt"> pica8RstpFunc_01_01 </a> </td>
<td align="left"> RSTP bridge-priority configuring test. </td>
<td align="left"> 00:00:27 </td>
<td align="left" bgcolor="#00FF00"> undefined </td>
<td align="left">
 
</td>
</tr>

Result
<tr>
<td align="left"> <a href="pica8PvstFunc_01_02"> pica8PvstFunc_01_02 </a> </td>
<td align="left"> PVST interface parameters configuring test. </td>
<td align="left"> 00:01:38 </td>
<td align="left" bgcolor="#00FF00"> pass </td>
<td align="left">
 
</td>
</tr>
<tr>
<td align="left"> <a href="pica8RstpFunc_01_01"> pica8RstpFunc_01_01 </a> </td>
<td align="left"> RSTP bridge-priority configuring test. </td>
<td align="left"> 00:00:27 </td>
<td align="left" bgcolor="#00FF00"> undefined </td>
<td align="left">
 
</td>
</tr>