正则表达式,两个单词(含两个)之间匹配,并包括下一个新行

我正在尝试替换以下数据,Item Id:直到包含以下内容的最后一行的末尾end:


Some junk

Item Id: 401421502995 

end: blah blah blag, Item Id: 401343012211

end: blah blah blah blah basdfasd

Some other junk

所以从本质上讲所有这些东西都将被替换


Item Id: 401421502995 

end: blah blah blag, Item Id: 401343012211

end: blah blah blah blah basdfasd

留给我


Some junk

Some other junk

这有几种配置,但是生产线上end:需要继续


这就是我所拥有的,它与匹配,end:但不会一直持续到行尾


(Item Id:).*?(end:)


我该如何包括\n我的大脑被枪击


墨色风雨
浏览 371回答 1
1回答

蛊毒传说

您可以使用Item Id:(?s:.*?)end:(?:(?!Item Id:).)*\n?请参阅regex演示。细节Item Id: -文字子串(?s:.*?)-RegexOptions.Singleline启用了选项的修改器组end: -文字子串(?:(?!Item Id:).)*-出现0+次以上的任何char,但LF不会启动Item Id:char序列(请参见此处有关此构造的更多详细信息)\n? -可选的LF字符(也可以匹配输入的最后一行)。
打开App,查看更多内容
随时随地看视频慕课网APP