web-dev-qa-db-ja.com

TextMateの正規表現でNOTを使用することは可能ですか?

OSXエディターTextMateで取り組んでいるMatlabプロジェクトがあります。特定のWordのすべてのインスタンスを見つける必要があります。たとえば、「foo」であるとします。これは、「。」が前に付いていません。または「/」で成功しました。

ただし、このように否定的に定義されている正規表現を検索する方法はありません。 「Aの前にB以外のもの」のようなものを検索できるかどうか誰か知っていますか?

(TextMateは、K。Kosakoによる Oniguruma正規表現ライブラリ を使用します。)

23
Nagel

構文の次のビットを使用します。

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

あなたの場合、(?<!\.)foo(?!/)

32
m4573r

角括弧内の^(サーカムフレックスまたはキャレット)は、式を否定します。したがって、「。」が前に付いていない「foo」を見つけるには、だろう:

[^.]foo
13
Brian