正则表达式匹配第一次出现

时间:2013-02-07 16:56:15

标签: regex

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

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

2 个答案:

答案 0 :(得分:2)

让你的量词不贪婪。

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

答案 1 :(得分:0)

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