我有一个包含各种文章的巨大文本文件,我正在尝试使用正则表达式从中提取行。我知道标题下面的行从For / From开始(大部分时间)我写了下面的正则表达式,但是如果有文章的段落以From / For开头,它会匹配标题直到段落。如何使正则表达式匹配第一次出现的For / From?
((?<=\n)[A-Z].*\n+(?=(?:(?:From)|(?:For))))
答案 0 :(得分:2)
让你的量词不贪婪。
((?<=\n)[A-Z].*?\n+(?=(?:(?:From)|(?:For))))
^
答案 1 :(得分:0)
您可能正在使用/g
标志。删除可能会解决您的问题,因为您不希望匹配所有匹配项,只有第一个匹配。