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

对于日志文件中的下一行

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}

别无选择。应该从选择中跳过.*中的(rama\:).*(\{.*\})部分。

我怎样才能做到这一点?这只是用于日志文件中许多值之一。

最佳答案

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

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

:

  • 打开文件,然后按CTRL+F
  • 键入Rama\:.+\K(\{[^\}]*\})正则表达式
  • 确保正则表达式和突出显示匹配项处于启用状态
  • 单击查找所有
  • 按CTRL + C

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

    关于regex - Sublime Text : Exclude selection with regex?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29195392/

    10-11 09:20