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

如何编写正则表达式提取每个alphanumeric pattern分段字符串

正则匹配方案

适配你场景的正则表达式

/\d{8} - .*?(?=\s*\d{8} - |$)/g

正则各部分说明

  • \d{8}:匹配8位格式的日期前缀,和你示例中的19990101格式完全匹配,比无长度限制的\d+匹配精度更高
  • - :匹配前缀后面的横杠加空格固定格式
  • .*?:非贪婪匹配任意字符,避免过度匹配吞掉下一个条目的前缀
  • (?=\s*\d{8} - |$):正向零宽预查,确保当前匹配的终止位置要么是下一个条目的日期前缀(前缀前可包含空白字符),要么是整个字符串的末尾,预查内容不会计入匹配结果,刚好实现两个条目的拆分

使用示例(JavaScript环境)

const rawStr = '19990101 - John DoeLorem ipsum dolor sit amet 19990102 - Elton Johnconsectetur adipiscing elit';
const matchReg = /\d{8} - .*?(?=\s*\d{8} - |$)/g;
const splitResult = rawStr.match(matchReg);
// splitResult 就是你需要的两个独立字符串组成的数组:
// [
//   '19990101 - John DoeLorem ipsum dolor sit amet',
//   '19990102 - Elton Johnconsectetur adipiscing elit'
// ]

拓展说明

如果你的日期前缀不是固定8位数字,可将正则中的\d{8}替换为\d+,修改后的正则为/\d+ - .*?(?=\s*\d+ - |$)/g,同样可以完成匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:45:03