我有一个文件,类似于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
(