05.02.2013 Aufrufe

Das Handbuch zu Kate - KDE Documentation

Das Handbuch zu Kate - KDE Documentation

Das Handbuch zu Kate - KDE Documentation

MEHR ANZEIGEN
WENIGER ANZEIGEN

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&#8218;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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!