当前位置: 首页 > 知识库问答 >
问题:

PHP和孕_分裂

卢黎昕
2023-03-14

我使用preg_split正则表达式将句子拆分成数组。我能够成功地做到这一点。然而,我告诉preg_replace查找的模式的一部分是文本本身的一部分。所以部分文字也被删除了。有没有办法把模式重新插入数组?例如,如果我告诉preg_spit搜索一个句点和其后的一个大写字母,它将从数组中删除这个大写字母,这是我不想要的。

这是代码

$line = preg_split("@[\.\?\!\:][\W]+[A-Z]@"

示例字符串:

这是第一句。这是第二句吗?这是第三句!这是第四句:这是第五句。这是第六句话,也是美国的第六句话。当弗吉尼亚州民主党众议员格里·康诺利问及如果美国不采取行动,叙利亚再次发生化学袭击的可能性时,国防部长查克·哈格尔回应了克里的言论,称“非常高”。

有办法解决这个问题吗?

谢谢

共有1个答案

方弘
2023-03-14

使用积极的前瞻,这应该是可行的....

$line = preg_split("[\.\?\!\:][\W]+(?=[A-Z])");

"(? =" 和")"之间的任何内容都匹配,但不包含在结果中。在最后一个括号后添加适当的重复运算符。

搜索正则表达式环顾四周,查找头,查找后面,断言将产生大量关于如何正确使用这些功能的信息:-)

 类似资料:
  • 问题内容: 我有一个MySQL查询 我想分页显示每页10条结果。我该怎么做? 问题答案: 这是一个不错的起点:

  • 本文向大家介绍分析php://output和php://stdout的区别,包括了分析php://output和php://stdout的区别的使用技巧和注意事项,需要的朋友参考一下 PHP包含了以php://开头的一系列输出输出流,如php://stdin, php://stdout等。今天查看代码时,忽然想到一个问题:php://output和php://stdout有什么区别? 从PHP的官

  • 问题内容: 在PHP中,变量名和常量名区分大小写,而函数名不区分大小写。 据我所知,PHP是发生这种情况的唯一语言。我使用的所有其他语言要么完全区分大小写,要么完全不区分大小写。 为什么PHP 部分 区分大小写? 请注意,我并不是在问 哪个 名称区分大小写,而是 为什么 。 更新资料 为了使那些认为我要问 哪个的 人受益,我想添加以下列表: 区分大小写 弦乐 变数 对象属性 常量,默认情况下 不区

  • 本文向大家介绍PHP 数组current和next用法分享,包括了PHP 数组current和next用法分享的使用技巧和注意事项,需要的朋友参考一下 1.current 2.next 示例很简单,但是却很实用,希望小伙伴们能够喜欢。

  • 问题内容: 我将PHP和mySQL与Idiorm结合使用。那可能不相关。 我的PHP数组 这是父母与子女之间的关系。 0是根父级。 示例:根父级0有孩子33,孩子33有孩子27,孩子27有孩子71。 如果需要解决此问题,可以更改此数组结构。 我的分层结果 像这样,但作为一个数组… 信息 深度未知,可以无限。我尝试了foreach,但可能不是这样。 我自己的想法 一些递归功能? 一些while循环?

  • 本文向大家介绍PHP函数实现分页含文本分页和数字分页,包括了PHP函数实现分页含文本分页和数字分页的使用技巧和注意事项,需要的朋友参考一下 最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。 参数解释: $pageTotal是总页数,$page是当前页,$total是从数据库中获取的数据总数; 为了简化,将参数全部封装 参数解释: $pagestart是当页从