我需要一个正则表达式来从包含年份的文本中提取句子。

示例文本:



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

  • $sentenceWithYear[0] = 接下来,在 1988 年
    Bradys 又回来了
    节日庆典,“非常布雷迪
    圣诞节”。
  • $sentenceWithYear[1] = 这部电影
    是收视率最高的电视电影
    1988.

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

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

    最佳答案

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

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

  • 将段落分成句子
  • 识别哪些句子包含4位数字,大概在1900-2100左右的范围内。

  • 第 1 点非常困难,因为 .特点。例如,您将如何处理这些句子:



    您需要能够识别“先生”后面的句点不是句子终止符,实际上有两个句子。您得到的大多数答案(包括@Tatu 的)都会根据时期进行幼稚的划分。

    编辑另一个用例:钱



    一旦您能够充分识别句子,第 2 点就非常简单了。

    关于PHP正则表达式匹配包含一年的句子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2504201/

    10-13 08:49