Ist es möglich, NOT in einem regulären Ausdruck in TextMate zu verwenden?

Ist es möglich, NOT in einem regulären Ausdruck in TextMate zu verwenden?

Ich habe ein Matlab-Projekt, an dem ich im OSX-Editor TextMate arbeite. Ich muss alle Vorkommen eines bestimmten Wortes finden, sagen wir „foo“, das weder von einem „.“ eingeleitet noch von einem „/“ gefolgt wird.

Ich kann jedoch keine Möglichkeit finden, nach regulären Ausdrücken zu suchen, die auf diese Weise negativ definiert sind. Weiß jemand, ob es möglich ist, nach etwas wie „A, dem etwas anderes als B vorangestellt ist“ zu suchen?

(TextMate verwendet dieOniguruma-Bibliothek für reguläre Ausdrückevon K. Kosako.)

Antwort1

Sie möchten diesen Teil der Syntax verwenden:

(?=subexp)         look-ahead
(?!subexp)         negative look-ahead
(?<=subexp)        look-behind
(?<!subexp)        negative look-behind

In Ihrem Fall,(?<!\.)foo(?!/)

Antwort2

Das ^ (Zirkumflex oder Zirkumflex) in eckigen Klammern negiert den Ausdruck. Um also ein "foo" zu finden, dem kein "." vorangestellt ist, wäre das:

[^.]foo

verwandte Informationen