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

如何编写正则实现SCHEDULE文本块内的指定目标行筛选与校验

正则匹配需求及实现方案

需求说明

从以SCHEDULE开头、END结尾的文本块中,按以下规则匹配内容:

  1. 提取SCHEDULE行#后最后一段作为基础关键词,若关键词包含下划线,取下划线前的内容作为匹配前缀
  2. 匹配块内同时满足以下条件的行:包含#符号、以上述匹配前缀加字母E开头、可保留原关键词下划线后的后缀内容

需求示例

SCHEDULE行示例

SCHEDULE MANAGER_XA#KGDIVAGBLR 
或
SCHEDULE MANAGER_XA#KGICROBLR_2 
或
SCHEDULE MASTERAGENTS#KGICRO741_AABB
或
SCHEDULE MANAGER_XA#/XAAA/KAAA/KGICROZZZ
或
SCHEDULE MANAGER_XA#/XAAA/KAAA/KGFLABUR_4
或
SCHEDULE MASTERAGENTS#/KA0H/KA0HM00_FACT/KA0HM00_FACT 

END

匹配效果示例

1. 无下划线前缀匹配

SCHEDULE行内容为SCHEDULE MANAGER_XA#/XAAA/KAAA/KGICROZZZ,提取匹配前缀为KGICROZZZ,目标匹配项为KGICROZZZE,完整文本块如下:

SCHEDULE MANAGER_XA#/XAAA/KAAA/KGICROZZZ
DESCRIPTION "Added by default."
:
S89COLENG2#/KG34/KG34G43CR3/KG34G1086
 NOP
 FOLLOWS KG34G1085

S89COLENG2#/KG34/KG34G43CR3/KGICROZZZE
 FOLLOWS KG34G493
 FOLLOWS KG34G522

S89COLENG2#/KG34/KG34G43CR3/KG34G1086
 NOP
 FOLLOWS KG34G1085

END

2. 带下划线前缀匹配

若SCHEDULE行最后一段为KGFLABUR_4,提取匹配前缀为KGFLABUR,匹配KGFLABURE或KGFLABURE_4均符合要求:

SCHEDULE MANAGER_XA#/XAAA/KAAA/KGFLABUR_4

S89COLENG2#/KG34/KG34G43CR3/KGFLABURE

或 

S89COLENG2#/KG34/KG34G43CR3/KGFLABURE_4

若SCHEDULE行末尾为KAAABBB_CCC,提取匹配前缀为KAAABBB,匹配KAAABBBE_CCC符合要求:

SCHEDULE MANAGER_XA#/XAAA/KAAA/KAAABBB_CCC
DESCRIPTION "Added by default."
:
S89COLENG2#/KG34/KG34G43CR3/KG34G1086
 NOP
 FOLLOWS KG34G1085

S89COLENG2#/KG34/KG34G43CR3/KAAABBBE_CCC
 FOLLOWS KG34G493
 FOLLOWS KG34G522

S89COLENG2#/KG34/KG34G43CR3/KG34G1086
 NOP
 FOLLOWS KG34G1085

END

正则实现方案

以下正则基于PCRE2引擎编写,支持反向引用和单行模式。

1. 匹配包含符合规则行的SCHEDULE块

(?s)SCHEDULE\s+.*#.*?(?<prefix>[^/_\n]+)(?:_\S+)?\s*\n(?:(?!END).)*?\n.*#.*?\k<prefix>E(?:_\S+)?\s*(?:\n(?!END).)*?\nEND

逻辑说明:

  • 开启单行模式后先匹配SCHEDULE行,捕获#后最后一段下划线前的内容为prefix分组
  • 匹配块内任意非END内容,直到遇到符合规则的目标行
  • 最终匹配到块结束标识END

2. 匹配不包含符合规则行的SCHEDULE块

(?s)SCHEDULE\s+.*#.*?(?<prefix>[^/_\n]+)(?:_\S+)?\s*\n(?:(?!END|.*#.*?\k<prefix>E(?:_\S+)?).)*\nEND

逻辑说明:

  • 匹配SCHEDULE行捕获前缀后,限定块内内容既不包含END,也不包含符合规则的目标行
  • 最终匹配到块结束标识END

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:06:03