0
我想原始文本分割成句子。于是我简单地使用preg_split()
功能和分割原始文本的基础上?
,.
和;
发生句子。但正如我所料,我遇到了一些问题,由于.
的一些特殊情况,例如“博士”,“先生”等。剔除pattern_match一些模式在PHP
我该如何排除这样的词或patter分裂?
preg_split('/(\.)|(\?)|(\;)!(Mr\.)/', $content);
我想原始文本分割成句子。于是我简单地使用preg_split()
功能和分割原始文本的基础上?
,.
和;
发生句子。但正如我所料,我遇到了一些问题,由于.
的一些特殊情况,例如“博士”,“先生”等。剔除pattern_match一些模式在PHP
我该如何排除这样的词或patter分裂?
preg_split('/(\.)|(\?)|(\;)!(Mr\.)/', $content);
您可以添加negative lookbehind的正则表达式,以确保该点没有被“先生”开头和公司:
preg_split('/((?<!(Mr|Dr))\.|\?|;) /', $content);
我还简化了正则表达式一点点。还应该考虑在当前表达式的结尾代替单个空间\s|$
(任何空白或输入的终点)。
感谢@乔恩..... 但是,我们可以预测任何图案为如发生特殊模式(博士,先生,女士等) – 2012-08-01 09:50:38