2009-05-20 14 views
0

Ich möchte die Lösung für die Hervorhebung nachlaufenden Whitespace beschrieben here durch Nicht-Hervorhebung Leerzeichen auf sonst leeren Zeilen.Textmate Whitespace Hervorhebung

Ich habe diese Datei in meiner Python-Sprache geändert:

 { match = '(\s+)$'; 
     captures = { 1 = { name = 'invalid.whitespace'; }; }; 
    }, 

Um dies:

 { match = '\S(\s+)$'; 
     captures = { 1 = { name = 'invalid.whitespace'; }; }; 
    }, 

Dieser neue Ausdruck alles paßt nicht mehr scheint. Was mache ich falsch ?

Antwort

1

Versuchen Behauptungen:

(?<=\S)\s+$ 

Sie sind in PHP manual (sie sind nicht PHP-spezifisch natürlich nur zufällig php.net haben recht lesbare Version des Dokuments) gut beschrieben.

+0

Ahh sehr nah. Es ist tatsächlich (? <= \ S) \ s + $ Aktualisieren Sie Ihre Antwort und ich werde es als die Lösung markieren. (Ich denke, so soll das funktionieren) – rhettg

1

Das Problem mit Ihrem Muster besteht darin, dass das vorangehende Nicht-Leerzeichen wahrscheinlich bereits von einer anderen Regel abgeglichen wurde und daher für Ihre Regel nicht verfügbar ist. Die Verwendung einer Assertion, wie porneL nahelegt, ist der richtige Weg, dies zu tun.