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

正则表达式调试:日期行前连续字母行后加0的正则失效问题

你的正则问题分析及修正方案

原正则的问题

  • 语法错误:正则末尾的(?<!\A)\G[A-Za-z].*\R)多了一个多余的右括号,直接导致正则引擎无法解析,这是最核心的失效原因。
  • 逻辑混乱:\G的使用逻辑错误,你想用来连续匹配日期前的字母行,但分组和\G的衔接完全没对齐,没法锁定“日期行前的连续字母行”这个目标范围。
  • 匹配范围狭窄:原正则只试图匹配紧邻日期的那一行字母行,没法处理日期前多行连续字母行的场景,不符合你要给所有日期前连续字母行后加0的需求。

正确的正则方案

查找正则(需开启多行模式(?m))

(?m)^[A-Za-z].*(?=\R(?:[A-Za-z].*\R)*\b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\d{4}\b)

替换内容

$0\n0

逻辑说明

  1. (?m):开启多行模式,让^和$匹配每行的开头和结尾。
  2. ^[A-Za-z].*:精准匹配以字母开头的整行内容。
  3. (?=\R(?:[A-Za-z].*\R)*\b(月份缩写)\d{4}\b):通过正向预查,确保当前字母行之后,经过任意多行字母行后,最终会出现目标日期行,以此定位所有需要追加0的字母行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 11:41:05