代码之家  ›  专栏  ›  技术社区  ›  kyle

嵌套正则表达式捕获

  •  0
  • kyle  · 技术社区  · 6 年前

    {item 1 | item 2 | item 3} 
    

    将项目拆分为数组以进行进一步处理。这个Regex模式很适合:

    `{([^}]+)}` 
    

    但我想把这群人

    {This is {item 1 | item 2 | item 3} | This is not {item 5 | item 6 | item 7 }}
    

    1 回复  |  直到 6 年前
        1
  •  3
  •   CrafterKolyan    6 年前

    如果只想查找嵌套最多的数组:

    {([^{}]*)}
    

    如果你想找到所有的外部数组,你可以这样做(注意,只有当它是PCRE时它才会工作)

    {((?(?={)(?R)|[^}])*)}