1

我有一个包含各种文章的巨大文本文件,我正在尝试使用正则表达式从中提取行。我知道标题下面的行以 For/From 开头(大多数时候)我写了以下正则表达式,但如果有文章的段落以 From/For 开头,它会匹配标题直到段落。如何使正则表达式匹配 For/From 的第一次出现?

((?<=\n)[A-Z].*\n+(?=(?:(?:From)|(?:For))))
4

2 回答 2

2

让你的量词不贪婪。

((?<=\n)[A-Z].*?\n+(?=(?:(?:From)|(?:For))))
               ^
于 2013-02-07T16:57:41.307 回答
0

您似乎正在使用该/g标志。删除它可能会解决您的问题,因为您不想匹配所有匹配项,只匹配第一个匹配项。

于 2013-02-08T12:17:45.007 回答