Regex 正则表达式:选择多行之间的相等字。记事本++
我有一个文件,类似于yaml,我尝试在记事本++中选择到word之间的所有de行,尤其是应用程序。我尝试使用正则表达式,因为行数和内容是动态的,我想选择所有单独的段 这就是我现在所拥有的,但是这个正则表达式从第一个应用程序到文件末尾进行选择Regex 正则表达式:选择多行之间的相等字。记事本++,regex,notepad++,Regex,Notepad++,我有一个文件,类似于yaml,我尝试在记事本++中选择到word之间的所有de行,尤其是应用程序。我尝试使用正则表达式,因为行数和内容是动态的,我想选择所有单独的段 这就是我现在所拥有的,但是这个正则表达式从第一个应用程序到文件末尾进行选择 ^Application.*^(?!Application) 文件示例: Other Application uuid='1234567890A' label='MyLabel' MessageFlow uuid='1234567890
^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-。现在匹配换行符
^-线路起点
应用-一个词
.*? - 任何0+个字符,尽可能少,直到最左边出现
?=\R+Application |\z-1+换行符\R+后跟Application,或|文件结尾\z。
你的意思是你需要?s^Application.*?=\R+Application |\z?是的,就是这样。请像repsonse一样发布,并解释de regex接受回复的原因。如果有帮助,请尝试此操作^应用程序[\s\s]+?=应用程序