Sublime Text:用正则表达式排除选择?

时间:2015-03-22 14:09:54

标签: regex sublimetext2 sublimetext sublimetext3

有没有办法只选择带有正则表达式的分组部分。

用于日志文件中的以下行

Mon Feb 09 20:07:43 PKT 2015: VerifyPdb.Rama: Status: FINISHEDPART | Message: {fep=98.0, op=3.0, ac=6.0, ap=9.0}

我做了以下正则表达式

(some regex for another line)|(rama\:).*(\{.*\})

只给我这个

Rama:{fep=98.0, op=3.0, ac=6.0, ap=9.0}

不应该选择任何其他内容。 .*部分应该从选择中跳过。

我该怎么做?这仅适用于日志文件中的许多值之一。

1 个答案:

答案 0 :(得分:2)

您可以尝试使用(?i)rama:.*\K(\{[^\}]*\})。在Perl中,正则表达式可以在\K选项的帮助下从最终匹配中省略它之前发现的所有内容。

以下是Sublime Text 2选项的屏幕截图:

enter image description here

  • 打开文件并按CTRL+F
  • 输入Rama\:.+\K(\{[^\}]*\})正则表达式
  • 确保正则表达式精彩匹配已开启
  • 点击查找全部
  • 按CTRL + C

您现在应该在剪贴板中拥有所有匹配项。

enter image description here