繁体   English   中英

非标准结构化CSV-重新构造结构

[英]Non-standard, structured CSV - regexing structures

我遵循以下约定

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

问题是当我尝试对exteriorStructure1进行正则表达式时,我得到了:

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

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

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

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

我如何扩展它才能找到合适的右括号?

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

实际观看

一般的想法是检查比赛之后,只有平衡的花括号到字符串末尾为止。

但是,请注意,此正则表达式不是递归的,并且不会处理大于2个级别的嵌套。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM