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

如何用正则匹配指定listId下的特定列表项?

正则匹配特定listId下的目标列表项解决方案

方案1:分两步处理(更易维护)

  1. 提取check listId对应的完整区块
    使用正则捕获目标listId下的所有列表内容,确保只聚焦在目标区块:

    ^> check listId\n(?:> - \[[vx ]\].*\n?)+
    

    该正则会匹配从> check listId起始,到下一个非列表行(或文本结尾)的所有内容,精准锁定目标区块。

  2. 提取区块内的目标列表项
    对第一步捕获的内容,用你原本的正则匹配符合要求的项(排除[x]的行):

    > - \[(v| )\]\s?[a-z].*\n?
    

方案2:一步到位的正则(单次匹配场景)

若需单个正则直接匹配目标项,可利用正向环视限定上下文,确保匹配的列表项属于check listId区块:

(?<=^> check listId\n(?:> - \[[vx ]\].*\n)*)> - \[(v| )\]\s?.*(?:\n|$)
  • 细节说明:
    • 正向后顾断言(?<=^> check listId\n(?:> - \[[vx ]\].*\n)*):确保当前行前是> check listId及任意数量的历史列表行(兼容[v]/[x]/[ ]格式)。
    • 后半段> - \[(v| )\]\s?.*(?:\n|$):精准匹配[v]或[ ]开头的目标列表项。
    • 注意:该正则要求引擎支持无限长度后顾断言(如Python re、Java正则等),若使用不支持的引擎(如JavaScript),建议优先选择方案1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 23:31:24