Wenn Du einen einfachen (einstufigen) HTML-TOC in Sigil erstellt hast, würde ich erst bei jedem TOC-Eintrag mit Regex-Suche die Zeilenumbrüche entfernen:
Find:
<div class="(.*?)">\n\s*<a href="(.*?)">(.*?)</a>\n</div>
Replace:
<div class="\1"><a href="\2">\3</a></div>
Anschließend würde ich die so umformatierten Einträge in die zweite Spalte einer Excel-Datei kopieren und mit einem zweiten Regex-Ausdruck den Text extrahieren, der zum Sortieren verwendet werden soll:
Find:
<div class="(.*?)"><a href="(.*?)">(.*?)</a></div>
Replace:
\3
Anschließend musst Du nur die Kapiteltitel in die erste Spalte der Excel-Tabelle kopieren, die Tabelle nach der ersten Spalte sortieren und danach die sortierten Einträge aus der zweiten Spalte wieder in Sigil einfügen. (Sigil fügt die fehlenden Seitenumbrüche automatisch ein, wenn Du die Option "Pretty Print" oder "Clean Source" aktiviert hast.)
Bei mehrstufigen TOC-Einträgen funktionieren die Regex-Ausdrücke natürlich nicht. Der erste Ausdruck sucht nach einem TOC-Eintrag nach dem Muster:
Code:
<div class="sgc-toc-level-1">
<a href="../Text/frontmatter001.html">Vorwort</a>
</div>
wandelt ihn um in:
Code:
<div class="sgc-toc-level-1"><a href="../Text/frontmatter001.html">Vorwort</a></div>
und letztendlich in: