正则平衡组
2020-10-15 本文已影响0人
___________枫林晚
( #普通字符“(”
( #分组构造,用来限定量词“”修饰范围
(?() #命名捕获组,遇到开括弧“Open”计数加1
| #分支结构
(?<-Open>)) #狭义平衡组,遇到闭括弧“Open”计数减1
| #分支结构
[^()]+ #非括弧的其它任意字符
) #以上子串出现0次或任意多次
(?(Open)(?!)) #判断是否还有“Open”,有则说明不配对,什么都不匹配
) #普通闭括弧
{[}]*}[{}](((?'Open'{[^}]})[{}]*)+((?'-Open'})[{}])+)(?(Open)(?!))}