我想要替換以下html文本的一部分(摘錄一個巨大的文件),更新舊的論壇格式(從一個非常糟糕的論壇移植工作2年前完成)到常規phpBB格式:sed正則表達式在第一場比賽停止
<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>written by User</i>
這應該被過濾到:
[quote=User]
我用下面的正則表達式在sed
s/<blockquote.*written by \(.*\)<\/i>/[quote=\1]/g
這適用於給定示例,但在實際文件中,像這樣的幾個引號可以在一行中。在這種情況下,sed太貪婪,並且在[quote = ...]標籤中的第一個和最後一個匹配之間放置所有內容。我似乎無法使它在行中取代這種模式的每一個發生...(我不認爲有任何嵌套的引號,但這會使它更難)
'sed' Perl的正則表達式:['ssed'(https://launchpad.net/ssed) –