输入:
start
some
T1
random
T2
text
T3
end
应该导致:
start
T1
T2
T3
end
我尝试使用
>(?<=start)[\S\s]*?(?=end)
匹配开始和结束之间的所有内容
并将T1 T2 T3排除在:
^(?!T\d)
是否有可能将它们组合成一个可以粘贴到记事本++中的正则表达式,以便那些不熟悉编写代码的人在几次传递中执行它?
答案 0 :(得分:1)
您可以使用此正则表达式:
查找: ^(?!T\d|start).*\R(?=(^(?!start$).*\R)*end$)
替换:(空)
.
匹配换行符:否
点击“全部替换”
这些假设是:
start
和end
分隔符应该是其中唯一的文字(因此不是---start
或start ///
),start
然后end
)start
之后start
无法再来end
。前瞻使得这是一个相当低效的正则表达式,因为每次匹配都需要再次检查后续文本,直到下一个end
。