是否可以在 TextMate 中的正则表达式中使用 NOT?

是否可以在 TextMate 中的正则表达式中使用 NOT?

我有一个 Matlab 项目,正在 OSX 编辑器 TextMate 中处理。我需要查找某个单词的所有实例,假设它是“foo”,并且该单词前面没有“.”,后面也没有“/”。

但是,我找不到任何方法来搜索像这样被否定定义的正则表达式。有人知道是否可以搜索“A 前面除了 B 之外的任何东西”之类的内容吗?

(TextMate 使用Oniguruma 正则表达式库作者:K. Kosako。

答案1

您想使用以下语法:

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

就你的情况来说,(?<!\.)foo(?!/)

答案2

方括号内的 ^(脱字符或插入符号)用于否定表达式。因此,要查找前面没有“.”的“foo”,则需要:

[^.]foo

相关内容