Php 句子正则表达式

Php 句子正则表达式,php,regex,Php,Regex,我构建了一个正则表达式来匹配PHP脚本中的句子,虽然效果很好,但它忽略了第一个句子。下面是包含正则表达式的PHP preg_match_all('([A-Z][^\.!?]*[\.!?]\s)', '$data', $arr, PREG_OFFSET_CAPTURE); 用于测试的字符串 Persoonsgegevens van 84.000 Bol.com-klanten waren toegankelijk via een 在工地上的列克人和其他人在一起。 他正在使用sql注入。德格根斯齐

我构建了一个正则表达式来匹配PHP脚本中的句子,虽然效果很好,但它忽略了第一个句子。下面是包含正则表达式的PHP

preg_match_all('([A-Z][^\.!?]*[\.!?]\s)', '$data', $arr, PREG_OFFSET_CAPTURE);
用于测试的字符串

Persoonsgegevens van 84.000 Bol.com-klanten waren toegankelijk via een 在工地上的列克人和其他人在一起。 他正在使用sql注入。德格根斯齐恩 沃尔根斯·博尔·尼特·米斯布鲁伊特

韦文克尔·赫夫特·赫夫特·赫夫特·赫夫特·赫夫特, 这是一个很有趣的话题。Het gaat om 84.000克拉腾模具 迎接“肯尼斯马金萨奇”温暖的世界

数据库中的Klantgeggevens stonden van een externe partij waar Bol.com与samenwerkte合作,zegt Bol.com-directeur Daniel Ropers tegenover Tweakers.net。范德克兰滕·康登·纳姆,格斯拉赫特, e-mailadres en geboortedatam worden achterhaald;贝塔尔盖文斯瓦伦酒店 尼特·托甘克里克

“我们是赫本·吉斯特拉沃德·克兰滕·格恩福尔梅德·埃因德·沃里克·贾尔·赫本 meegedaan de marketingactie”,zegt Ropers。“通过het局dat de 在一段时间内,我们一直在努力工作 这是一本书,他在书中写道 软件海本·格泽滕。2月1日,瓦伦·德·格格芬斯·维斯勒泰尔德。 Volgens Webwereld gaat在工具amfphp中使用

Bol.com是一个非常活跃的网站。罗珀斯:“建造 数据更新是数据更新的关键;数据更新是数据更新的关键。 我们在这里学习英语。”Hij benadrukt dat Bol.com zelf 这是一个很好的例子,它是一个很好的例子 韦兰特伍德利耶德·威尔内门。“我们见面了 samenwerken hebben我们有安全检查表Daar moeten我们有安全检查表 加安的绿色。” 资料来源:


我会用这个正则表达式来匹配以下句子:

'.*?([\.!?]+|$)'
在此处添加更多的调整,可以为测试输入提供更好的输出(仅测试输入-不保证常规文本):


'$data'
是您要匹配的字符串吗?不是,我添加了测试字符串。@Roelvelduizen:通常很难确定什么是句子,什么不是句子。在格式不好的文本中,我们需要更多信息来确定“shdfsdf.com sdfsj”是一句话还是两句话。您所能做的最多就是调整正则表达式,使其适用于您的输入,但不一定适用于所有输入。它适用于添加的\s。“*?([\.!?]\s+|$)”否则它将匹配的每个实例。@RoelvelHuizen:这是我对类似
啊。。。嗯。。。我不知道
我明白了,我的问题更多的是关于
10.000
@roelvelduizen:检查我的编辑,以获得更好的正则表达式。但是,不能保证文本格式不正确。
/[\S].*?(?:[\.!?]+["]?(?=\s)|$)/