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

Python regex如何匹配多场景内容到group1并排除末尾方括号内容

正则调整方案

最终可用正则(Python 环境)

你可以直接使用以下正则,两种写法二选一即可:

  1. 无需额外标志的写法:
    r'from\s+(?:[Ll][Oo][Cc]\s+)?0{0,4}(\d.*?)(?=\s*\[\d+\]|\s*$|\s*\n)'
  2. 简化写法,匹配时传入re.IGNORECASE标志即可兼容LOC、loc大小写变体:
    r'from\s+(?:LOC\s+)?0{0,4}(\d.*?)(?=\s*\[\d+\]|\s*$|\s*\n)'

规则匹配逻辑说明

  • 固定匹配起始标识from及后续空格,确保从指定位置开始匹配
  • 非捕获组匹配可选的LOC/loc前缀及后续空格,不会占用捕获分组的位置
  • 限定最多匹配4位前导零并跳过,符合需求中前导零的处理要求
  • 捕获分组1从第一个非零数字开始非贪婪匹配内容,自动在以下边界停止:
    • 末尾方括号包裹的数字及方括号前的所有前导空格
    • 换行符及换行前的多余空格
    • 字符串结束位置及末尾多余空格

以上正则可以覆盖你给出的所有测试场景,包括带空格的长位置名称、末尾附带方括号数字的场景,目标内容都会被完整捕获到分组1中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:15:01