我正在解析维基百科文章。我想提取其中包含一年的每个句子。年份可以是 1000 - 2012 之间的任何值。下面是我一直在尝试的正则表达式,但我不太正确。请帮助完善这一点。
$regex = '/\.\s.+\s[1|2][0-9]{3}\.\s/';
最佳答案
让我们将一个句子定义为一连串非句点字符,末尾有一个句号:
[^.]+\.
(这当然有一些问题,但它们对于任何自动化流程来说都不是小事,因此必须这样做)。那么 1000 到 2012 之间的数字将是
\b(1[0-9]{3}|200[0-9]|201[0-2])\b
合并它们:
[^.]*\b(1[0-9]{3}|200[0-9]|201[0-2])\b[^.]*\.
关于regex - 如何使用正则表达式提取其中包含年份的句子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8893552/