我有一個帶有href超鏈接到特定文件的html文件。我想在這個文件中找到所有的href鏈接,並用該文件的絕對路徑替換鏈接。在python中查找並替換文本
<BR><CENTER><TABLE BORDER=1 CELLPADDING=0 NOSAVE><TR ALIGN=CENTER NOSAVE><TD COLSPAN="4" NOSAVE><CENTER><B>Summary Table</B></CENTER><TR><TD>Testname</TD><TD>Status</TD><TD>Link to HTML</TD><TD>Utility</TD></TR><TR><TD>test1</TD><TD>FAIL</TD><TD><A HREF= abc.html>HTML_report</a></BR></TD><TD>run</TD></TR><TR><TD>31Jan2017_03h12m52s</TD><TD>FAIL</TD><TD><A HREF=def.html>HTML_report</a></BR></TD><TD>run_2</TD></TR></TABLE></CENTER><BR>
更換後,這看起來應該像 -
<BR><CENTER><TABLE BORDER=1 CELLPADDING=0 NOSAVE><TR ALIGN=CENTER NOSAVE><TD COLSPAN="4" NOSAVE><CENTER><B>Summary Table</B></CENTER><TR><TD>Testname</TD><TD>Status</TD><TD>Link to HTML</TD><TD>Utility</TD></TR><TR><TD>test1</TD><TD>FAIL</TD><TD><a href=common?htmlview=1&file="absolute_path to abc.html">HTML_report</a></BR></TD><TD>run</TD></TR><TR><TD>31Jan2017_03h12m52s</TD><TD>FAIL</TD><TD><a href=common?htmlview=1&file="absolute_path to def.html">HTML_report</a></BR></TD><TD>run_2</TD></TR></TABLE></CENTER><BR>
我讀通過線的HTML文件中的行,所以一行可以有一個HREF中出現了多次。 我一直在使用應用re.sub找到和地方嘗試 -
re.sub(r'\sA\sHREF\s','a href=common?htmlview=1&file=<path>',line)
你爲什麼用正則表達式解析HTML? – jonrsharpe
其中一個不簡單地用正則表達式解析html [出於這些原因](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags)。你可以使用[beautifulsoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/)。 – MYGz
...你有問題嗎? – melpomene