You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整正则表达式,使其识别三个点与省略号作为句末标记?

调整正则以支持省略号作为句尾

修改后的完整代码

$text = preg_replace_callback('/(\d+\.\d+|\b[A-Z](?:\.[A-Z])*\b\.?)|(\.{3}|…|[.,;:!?)])\s*/', function ($matches) {
    return $matches[1] ? $matches[1] : $matches[2] . ' ';
}, $text);

关键修改点

  • 在第二个捕获组中新增两种省略号匹配规则:
    • \.{3}:匹配连续三个英文点(...),对.转义是因为正则中.是通配符,必须转义才能匹配字面意义的点
    • …:直接匹配Unicode标准省略号字符(确保PHP文件编码为UTF-8)

逻辑说明

原正则核心逻辑不变:

  1. 优先匹配数字小数(如3.14)或大写字母缩写(如N.B.C.),这类内容直接保留原样
  2. 匹配句尾标点时,现在会包含...和…,替换时同样在标点后添加空格,实现句尾识别

内容的提问来源于stack exchange,提问作者Henrik Petterson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 11:32:19