Das Handbuch zu Kate - KDE Documentation
Das Handbuch zu Kate - KDE Documentation
Das Handbuch zu Kate - KDE Documentation
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
B.4 Behauptungen<br />
<strong>Das</strong> <strong>Handbuch</strong> <strong>zu</strong> <strong>Kate</strong><br />
Behauptungen erweitern den regulären Ausdruck so, dass er nur unter bestimmten Bedingungen<br />
<strong>zu</strong>trifft.<br />
Eine Behauptung braucht kein Zeichen um <strong>zu</strong><strong>zu</strong>treffen, diese ermittelt vielmehr die Umgebung<br />
einer eventuellen Übereinstimmung bevor dieser bestätigt wird. Die Behauptung Wortgrenze z. B.<br />
versucht nicht, ein nichtdruckbares Zeichen neben einem druckbaren Zeichen <strong>zu</strong> finden, sondern<br />
stellt fest, dass dort KEIN druckbares Zeichen ist. <strong>Das</strong> heißt, dass dieses z. B. auch am Ende einer<br />
Zeichenkette <strong>zu</strong>trifft.<br />
Einige Behauptungen haben ein Muster das gefunden werden muss, aber der <strong>zu</strong>treffende Teil des<br />
Suchtextes dieses Musters wird nicht Teil des Ergebnisses des gesamten regulären Ausdrucks.<br />
Reguläre Ausdrücke wie hier beschrieben unterstützen die folgenden Behauptungen:<br />
ˆ (Hochzeichen: Anfang der Zeichenkette)<br />
Trifft auf den Anfang des <strong>zu</strong> suchenden Textes <strong>zu</strong>.<br />
Der Ausdruck ˆPeter trifft auf „Peter” im Text „Peter, hey!” <strong>zu</strong>, aber nicht auf „Hey, Peter!”.<br />
$ (Ende der Zeichenkette)<br />
Trifft auf das Ende des Suchtextes <strong>zu</strong>.<br />
Der Ausdruck you\?$ trifft auf das letzte „you” in „You didn‚t do that, did you?”<br />
<strong>zu</strong>, aber nirgendwo in „You didn‘t do that, right?”.<br />
\b (Wortgrenze)<br />
Trifft <strong>zu</strong>, wenn ein druckbares Zeichen auf der einen Seite aber keines auf der anderen Seite<br />
ist.<br />
Dieser Ausdruck dient <strong>zu</strong>m Finden von Wortenden, wenn nach beiden Enden gesucht<br />
wird, <strong>zu</strong>m Finden des ganzen (einzelnstehenden) Wortes. Der Ausdruck \bin\b trifft auf<br />
das einzelnstehende „in” in „He came in through the window” <strong>zu</strong>, aber nicht auf das „in”<br />
in „window”.<br />
\B (keine Wortgrenze)<br />
Trifft immer dort <strong>zu</strong>, wo „\b” nicht <strong>zu</strong>trifft.<br />
Dieser Ausdruck dient <strong>zu</strong>m Finden von Text innerhalb von Worten. Der Ausdruck \Bin\B<br />
trifft z. B. auf das „in” im Wort „window” im Text „He came in through the window” <strong>zu</strong>,<br />
aber nicht auf „integer” oder „I’m in love”.<br />
(?=PATTERN) (Positive Vorwärtsreferenz)<br />
Eine Vorwärtsreferenz prüft den Text, der dem eventuell <strong>zu</strong>treffenden Teil des Textes folgt.<br />
Die Vorwärtsreferenz verhindert, dass der Text <strong>zu</strong>trifft, wenn der nachfolgende Text nicht<br />
auf das MUSTER der Behauptung <strong>zu</strong>trifft. Wenn die Behauptung <strong>zu</strong>trifft, wird der Text,<br />
der auf diese <strong>zu</strong>trifft, allerdings nicht Bestandteil des Ergebnisses.<br />
Der Ausdruck handy(?=\w) trifft auf „handy” in „handyman” <strong>zu</strong>, aber nicht auf das in<br />
„That came in handy!”<br />
(?!PATTERN) (Negative Vorwärtsreferenz)<br />
Eine negative Vorwärtsreferenz verhindert, dass der Text <strong>zu</strong>trifft, wenn der nachfolgende<br />
Text auf das MUSTER <strong>zu</strong>trifft.<br />
Der Ausdruck const \w+\b(?!\s*&) trifft auf „const char” im Text „const char* foo”,<br />
aber nicht „const QString” in „const QString& bar” weil das „&” auf die negative Vorwärtsreferenz<br />
<strong>zu</strong>trifft.<br />
138