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

求能捕获行尾句号(若存在)前所有内容的正则表达式

正则表达式:捕获行尾句号前的全部内容

要实现捕获每行中行尾句号(若存在)之前的所有内容,同时保留行内的非行尾句号(比如数字里的1.0),可以使用以下正则表达式:

^(.*?)(?=\.$|$)

正则说明:

  • ^:匹配每行的开头(需开启多行模式,即m标志,让^/$对应每行首尾而非文本整体)
  • .*?:非贪婪匹配任意字符,避免过早匹配到行内的句号
  • (?=\.$|$):正向预查,指定终止条件——要么是行尾的句号(\.$),要么是行的结束($)

测试示例:

针对你给出的测试文本:

This line has no number
This line has no number.
This line has 1.0 number
This line has 1.0 number.

匹配结果依次为:

  1. This line has no number
  2. This line has no number
  3. This line has 1.0 number
  4. This line has 1.0 number

代码示例(JavaScript):

const regex = /^(.*?)(?=\.$|$)/gm;
const text = `This line has no number
This line has no number.
This line has 1.0 number
This line has 1.0 number.`;
const results = Array.from(text.matchAll(regex), match => match[0]);
console.log(results);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 12:43:17