得到第一个以。结尾的句子。 ! ?换行之间

时间:2013-11-29 08:46:45

标签: php regex

请告诉我如何在换行符和结束符号之间获得第一句话。 ! ? 例如,我有一些文字:

  

“1)空中客车工业公司起初是一个欧洲航空公司联盟   与波音,麦克唐纳道格拉斯等美国公司竞争,   和洛克希德。虽然许多欧洲飞机都是创新的,甚至是   最成功的是小批量生产。

     

2)1991年,Jean Pierson,当时空中客车首席执行官兼董事总经理   Industrie描述了一些解释占主导地位的因素   美国飞机制造商的位置。

     3)美国的陆地使航空运输受到青睐   旅行方式; 1942年英美协议委托运输   飞机生产到美国;第二次世界大战离开了美国   一个有利可图,充满活力,强大且结构合理的航空业。

     

4)合作伙伴保留生产和工程资产   公司实际上使空中客车工业公司成为销售和营销公司   公司。由于固有的原因,这种安排导致效率低下   四家合作公司面临的利益冲突。

     

5)BAE Systems和EADS将其生产资产转移到新的   公司,空客SAS,以换取该公司的股权。 “

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

我在换行符之间得到了文字:

preg_match_all("/^[\r\n](.*)[\r\n]/m", $text, $content);

我知道(.*)可能只是简单的更改,例如(.*|\.|\?|\!),但它不起作用。

1 个答案:

答案 0 :(得分:0)

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

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

试试这个。您可以在此处查看一个有效的示例:http://regex101.com/r/aK4aL3

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