Regex:在到等于单词之间选择多行.记事本++



我有一个文件,类似于yaml,我试图在记事本++中选择单词之间的所有代码行,尤其是"Application"。我尝试使用regex,因为行数和内容是动态的,并且我想选择所有单独的段。

这就是我现在所拥有的,但这个正则表达式从第一个"应用程序"到文件末尾进行选择。

^Application.*^(?!Application)

文件示例:

Other
Application
uuid='1234567890A'
label='MyLabel'
MessageFlow
uuid='1234567890123B'
....
Application
uuid='1234567890C'
label='MyLabel'
MessageFlow
uuid='1234567890123D'
....
Application
uuid='1234567890E'
label='MyLabel'
MessageFlow
uuid='1234567890123F'
....
Application
uuid='1234567890G'
label='MyLabel'
MessageFlow
uuid='1234567890123H'

我想选择的组:

Application
uuid='1234567890A'
label='MyLabel'
MessageFlow
uuid='1234567890123B'
...

您可能使用的模式是

(?s)^Application.*?(?=R+Application|z)

详细信息

  • (?s)-.现在匹配换行字符
  • ^—线路起点
  • Application-一个词
  • .*?-任何0+个字符,尽可能少,直到最左边出现
  • (?=R+Application|z)-后面跟有Application的1+换行符(R+(或文件结尾(|((z(

最新更新