Calibre - das E-Book Multi-Tool - das große Handbuch (German Edition)
Funktion:
re:test():
//h:h2[re:test(., 'kapitel|abschnitt', 'i')] findet die
Tags, die die Wörter „KapitelC oder „Abschnitt“ beinhalten.
Der Operator „ . “ bezieht sich auf die Inhalte der Tags, wie „ @ “ sich auf die Attribute bezieht.
Eingebaute XPath-Funktionen
name() - Der Name des aktuellen Tags.
contains() - contains(s1, s2) trifft zu, wenn s1 als Inhalt s2 hat.
re:test() - re:test(src, pattern, flags) trifft zu, wenn src dem regulären Ausdrucksmuster entspricht. Ein sehr nützlicher Identifikator ist „ i “, der dafür sorgt, dass die Groß-/Kleinschreibung nicht beachtet wird.
Mehr zur Syntax von regulären Ausdrücken finden Sie hier: trbx.me/cm-python .
Anhang „Reguläre Ausdrücke in Calibre“
Dieser Anhang gibt im Wesentlichen die Inhalte des englischen Calibre-Tutorials für reguläre Ausdrücke wieder manual.calibre-ebook.com/regexp.html :
Ein Wort der Warnung und Ermutigung zum Einstieg:
Calibre ist eigentlich ein Tool, das es dem Benutzer ermöglichen soll, ohne größere technische Kenntnisse seine E-Books zu verwalten und umzuformatieren. An dieser Stelle kommen wir aber nicht darum herum, ein paar ziemlich technische Sachverhalte mit einem Wortschatz zu beschreiben, der eigentlich für Programmierer gedacht ist. Lassen Sie sich aber davon nicht entmutigen! Es handelt sich hierbei nicht um Zauberei, sondern um sehr logisch aufgebaute Abläufe. Und selbst diejenigen, die sich mit dem Thema reguläre Ausdrücke auskennen, haben oft Schwierigkeiten, die ganz komplexen Ausdrücke zu lesen. Wir machen jetzt einen Schritt nach dem anderen, kommen Sie einfach mit!
Wo kommen in Calibre reguläre Ausdrücke zum Einsatz?
An einigen Stellen, z. B. bei der Funktion „Suchen & Ersetzen“ im Menü „Konvertierung“, der Suche nach Metadaten unter „Eingabeoptionen“ und bei der Funktion „Suchen & Ersetzen“ im Zusammenhang mit der Stapelverarbeitung von Dokumenten.
Was sind überhaupt „reguläre Ausdrücke“?
Mit regulären Ausdrücken kann man bestimmte Zeichenfolgen beschreiben. Ein einziger regulärer Ausdruck kann eine Vielzahl von verschiedenen Zeichenfolgen ersetzen. Das macht reguläre Ausdrücke so wichtig – sie sind die präziseste Möglichkeit, eine potentiell große Anzahl von Variationen zu beschreiben. Das ist in etwa vergleichbar mit Formeln in der Mathematik. „a + b = c“ ist die Formel für eine unendliche Anzahl von Variationen, eine der einfachsten ist „1 + 2 = 3“.
In Programmiersprachen bestehen Zeichenfolgen aus ein oder mehreren Zeichen. Dabei kann es sich um Buchstaben, Zahlen, Satzzeichen oder Formatierungszeichen wie Zeilenumbrüche oder Tabulatoren handeln. Die Groß-/Kleinschreibung muss in diesem Fall beachtet werden. Bei der Suche nach Inhalten in Calibre ist das nicht so, aber im Zusammenhang mit regulären Ausdrücken schon. Ein „a“ hat einen anderen Effekt als ein „A“. Mehr dazu später.
Ein Beispiel:
Nehmen wir einmal an, Sie wollen ein Dokument bearbeiten, das in der Fußzeile Seitenangaben im Format „Seite 5 von 423‟ enthält. Um dieses Format zu ersetzen müsste man normalerweise nach allen 423 möglichen Variationen suchen, richtig? Mit dem Set [abc] kann man nun z. B. entweder den Buchstaben a oder b oder c abgleichen. Es kann immer nur einer der Buchstaben aus dem Set angesprochen werden. Es gibt aber die Möglichkeit, ganze Buchstabenbereiche zu definieren. Z. B. mit [a-z] für alle Kleinbuchstaben oder mit [a-zA-Z] für Groß- und Kleinbuchstaben. Das ist die Grundidee.
Zurück zu unseren Seitenzahlen. Mit dem Set [0-9] von 423 könnte man die ersten neun Seiten ansprechen. Mit [0-9][0-9] von 423 alle zweistelligen Zahlen und mit [0-9][0-9][0-9] von 423 folgerichtig alle dreistelligen Zahlen. Somit kommen wir der Sache schon näher.
Es wird aber noch besser: Wir haben eben gesehen, dass es möglich ist, einen von mehreren Buchstaben auszuwählen und mit einer Wiederholung sogar ein einziges Set zu schaffen, dass 423 Möglichkeiten ersetzt. Der Ausdruck lässt sich aber sogar mit nur einem einzigen Zeichen darstellen! Dabei handelt es sich um sogenannte Sonderzeichen wie „ + “, „ ? “ und „ * “, die dafür sorgen, dass die vor ihnen stehenden Elemente wiederholt werden. (Mit „Elementen“ sind entweder einzelne Zeichen, ein Zeichensatz oder eine „Escape Sequenz“ oder Gruppe gemeint. Mehr
Weitere Kostenlose Bücher