PHP正则表达式匹配包含一年的句子

zen*_*zen 3 php regex

我需要一个正则表达式,它将从包含一年的文本中提取句子.

示例文字:

接下来,在1988年,布拉迪斯又回来参加了一个节日庆祝活动,"A Very Brady Christmas".Susan Olsen(Cindy)将在这次重聚中失踪,Jennifer Runyon取代了她的位置.这是一部两小时的电影,其中布拉迪斯聚在一起庆祝圣诞节,将世界介绍给布拉迪孩子的配偶和孩子.这部电影是1988年收视率最高的电视电影.

如果示例文本是变量$ string,我需要它返回:

  • $ sentenceWithYear [0] =接下来,在1988年,布拉迪斯再次回来参加节日庆典,"A Very Brady Christmas".
  • $ sentenceWithYear [1] =这部电影是1988年收视率最高的电视电影.

如果可以通过正则表达式保留年份,我会在句子中使用年份并最终将句子插入到数据库中,如:

INSERT INTO table_name(年,句)VALUES('$ year','$ sentenceWithYear [x]')

Dav*_*ong 5

(这不是答案,而是一个建议)

我想你是想让这个太复杂了.你真的有两个问题:

  1. 将段落分成句子
  2. 确定哪些句子包含4位数字,可能在1900-2100左右.

点#1非常困难,因为使用模糊不清.字符.例如,你将如何处理句子:

我出生于1986年.史密斯先生出生于1976年.

你需要能够认识到"先生"之后的句号不是终止字符的句子,并且实际上有两个句子.你得到的大多数答案(包括@ Tatu's)都会根据这段时间进行天真的分割.

编辑另一个用例:钱

昨天我赚了42.00美元,我没有报告2010年的纳税申报表.

一旦你能够充分识别句子,第2点就是微不足道的.