RegEx,选择直到某个句子为止的所有内容?

问题描述 投票:0回答:2

我试图匹配所有文本行,直到文本文件中的某个特定句子,但在“尝试找出正则表达式”几个小时后到目前为止都失败了——不幸的是,只有机器逻辑可以用于正则表达式,没有人类逻辑; )

类似:

(.?)<specific sentence>

(.?)
应该代表任何东西——包括空格和换行符。

I want
to remove
all this text
no matter what
the characters are
up until
THIS SENTENCE <-- I want to keep this sentence (or replace the match with it)

我正在尝试删除许多文档中的长介绍文本,因此需要正则表达式来完成这项工作。

我根本不知道如何包含空格和换行符。我尝试添加我能想到的

[\n]+
[\r]+
[\n\r]+
(以及一百万个以上)的所有组合 - 没有任何效果。

regex
2个回答
0
投票

并且,一如既往,只有在提出问题之后我才找到答案:

((.|\n)*)
<specific sentence>
<new line character>

0
投票

你可以尝试这个正则表达式,然后什么都不替换。

^[\n\s\S]+?(?=^THIS SENTENCE)

通常

[\s\S]
足以匹配包括换行符在内的任何字符,但在 VSCode 中则不然(不知道为什么)。通过将
\n
添加到集合中应该可以使其按预期工作。

参见测试用例

© www.soinside.com 2019 - 2024. All rights reserved.