在两个字符串之间进行正则表达式搜索,但在第一次出现时停止

时间:2019-01-31 13:11:32

标签: regex

在Notepad ++中,我使用正则表达式查找突出显示两个字符串之间的文本,但是我希望查找在最后一个字符串首次出现后停止。

例如,使用这组文本。...

字符串1 富 酒吧 字串2 更多 文本 字串2 甚至 更多 文本 字符串2

我下面的代码选择从字符串1一直到最后一个字符串2的所有内容。
如何指定仅从String1中选择,直到String2首次出现

(?=String1)[\s\S]*(?=String2)

实际突出显示的结果:

字符串1 富 酒吧 字串2 更多 文本 字串2 甚至 更多 文本 字符串2

必需的突出显示结果:

字符串1 富 酒吧 字符串2

1 个答案:

答案 0 :(得分:0)

问号使量词*变得“懒惰”而不是“贪婪”,因此应该可以使用;

(?=String1)[\s\S]*?(?=String2)