Php 让第一句话以?换行之间

Php 让第一句话以?换行之间,php,regex,Php,Regex,请告诉我如何在换行符和结束符之间找到第一句话? 例如,我有一些文字: “1)空中客车工业公司最初是由欧洲航空公司组成的财团 与波音、麦克唐纳·道格拉斯等美国公司竞争, 虽然许多欧洲飞机都是创新的,但即使是 大多数成功的公司都有小规模的生产 2) 1991年,时任空客首席执行官兼董事总经理Jean Pierson 工业,描述了一些解释占主导地位的因素 美国飞机制造商的立场 3) 美国的大片土地使航空运输成为最受欢迎的运输方式 旅行方式;1942年的英美委托运输协议 第二次世界大战给美国留下了 一个

请告诉我如何在换行符和结束符之间找到第一句话? 例如,我有一些文字:

“1)空中客车工业公司最初是由欧洲航空公司组成的财团 与波音、麦克唐纳·道格拉斯等美国公司竞争, 虽然许多欧洲飞机都是创新的,但即使是 大多数成功的公司都有小规模的生产

2) 1991年,时任空客首席执行官兼董事总经理Jean Pierson 工业,描述了一些解释占主导地位的因素 美国飞机制造商的立场

3) 美国的大片土地使航空运输成为最受欢迎的运输方式 旅行方式;1942年的英美委托运输协议 第二次世界大战给美国留下了 一个有利可图、充满活力、强大且结构合理的航空工业

4) 合作伙伴保留生产和工程资产 事实上,这些公司使空客工业成为了一个销售和营销的行业 这种安排由于固有的 四家合作公司面临的利益冲突

5) BAE Systems和EADS将其生产资产转让给了新公司 作为对该公司股份的交换。”

你可以看到在第二段和第四段中,我们有顶部和底部的断线,文本是一个句子。但在四段中,我们有两句话。我需要解析段落中只有一句话的文本(例如,这是第二段),以及它们的结尾符号

我在换行符之间获取文本:

preg_match_all("/^[\r\n](.*)[\r\n]/m", $text, $content);
我知道这可能是
(.*)
中的一个简单更改,例如
(.....\124;\?|\!)
,但它不起作用

/^([^.?!]*)/m

它捕获了整个第一句话,省略了任何结尾标点和换行符

试试这个。您可以在此处看到一个工作示例:


您可以看到它与第一句匹配(如果适用),而忽略了其余部分。

编辑了下面的我的答案-它现在可以按需要工作。为什么不按换行符拆分?可能是重复的