gpt4 book ai didi

java - 非标准、结构化 CSV - 正则结构

转载 作者:行者123 更新时间:2023-12-01 21:53:38 26 4
gpt4 key购买 nike

我有一个符合以下约定的 CSV

val1,val2,outerStruct1{valA,valB,innerStruct2{valX, valY},valC},...

问题是当我尝试正则表达式outerStructure1时,我得到:

outerStruct1{valA,valB,innerStruct2{valX, valY}相反:

outerStruct1{valA,valB,innerStruct2{valX, valY},valC}

所以显然它返回第一个 } 而不是最后一个(有效)。我当前的正则表达式是:

([a-zA-Z0-9]{0,}\{.*?\})

如何扩展它以到达适当的右括号?

最佳答案

\{.*?\}(?=(?:[^{}]*|\{[^{}]*(?:\{[^{}]*\}[^{}]*)*\})*$)

See it in action

总体思路是检查匹配后,只有平衡的大括号保留到字符串末尾。

但是,请注意,此正则表达式不是递归的,并且不会处理超过 2 层的嵌套。

关于java - 非标准、结构化 CSV - 正则结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34766678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com