Regex 此场景的正则表达式

Regex 此场景的正则表达式,regex,notepad++,Regex,Notepad++,假设这是我们正在处理的文本 blah blah blah StartAwesomeEnd blah 在“开始”之前,我们如何选择所有内容?不只是当前线路,而是开始之前的所有内容 还有,我们如何选择“结束”之后的所有内容? 感谢您的帮助,我是正则表达式新手^([\W\W]*?)Start[\W\W]*?End([\W\W]*?)$ 这是一个有点处理密集,但应该做的技巧。这个正则表达式的特点是: 在第一次“开始”之前对所有内容进行分组 跳过“开始”+任何文本直到下一个“结束”+“结束”

假设这是我们正在处理的文本

blah

blah

blah

StartAwesomeEnd

blah
在“开始”之前,我们如何选择所有内容?不只是当前线路,而是开始之前的所有内容

还有,我们如何选择“结束”之后的所有内容? 感谢您的帮助,我是正则表达式新手

^([\W\W]*?)Start[\W\W]*?End([\W\W]*?)$

这是一个有点处理密集,但应该做的技巧。这个正则表达式的特点是:

  • 在第一次“开始”之前对所有内容进行分组
  • 跳过“开始”+任何文本直到下一个“结束”+“结束”
  • 在那之后把一切都分组

不确定这是否是您所需要的,但这将有助于引导您朝着一个有用的方向前进。

在第一个或最后一个
开始之前,您是否需要匹配任何内容?第一个/最后一个
开始
在行的开头或文件中的任何位置?
Start
是单词的一部分,还是无关紧要?请通过编辑对问题本身进行澄清。还有,你是什么意思?在文件中的
Start
或任何
End
之后出现的一个(请参阅上面关于
Start
的问题)。但为了便于理解,我添加了引号:(
(?s)。*Start
(?s)结束。*
?顺便说一句,没有人说你的问题很难理解。Wiktor只是问了更多细节。要构建一个好的正则表达式,你需要确切知道它应该做什么。你最好回答人们的问题,即使答案是“没关系”。