我想匹配两个字符串之间的文本,但起始字符串有严格的边界条件。
样本输入:
start
From: h
From:b
xyz
Subject:
end
我需要在 和 之间进行From:
匹配Subject:
。
如果我(From:.*).*(Subject:)
与 dotall 一起使用,它会产生
From: h
From:b
xyz
Subject:
但我只需要
From:b
xyz
Subject:
因为起始字符串有严格的边界条件。这是必要的,因为起始字符串可以在文档中的任何位置,然后上面的正则表达式将匹配一个大文本,而不仅仅是几行。
%%%%%%%%%%%% 问题重新定义 %%%%%%%%%%%%%% 我有需要匹配的文本:
From:<any text>
To:<any text>
Subject:<any text>
问题是:所有三个组件都可以在一行中,可以由一个换行符分隔,或者可以由 2 个换行符分隔......在所需的匹配之前和之后有文本可以包含From:<any text>
,这就是我需要严格的原因边界。