我知道正则表达式可用于编写检查器来检查括号的开始和结束符号对:
例如。a.[b.[c.d]].e
屈服值a
, [b.[c.d]]
, 和e
如何编写一个可以找出相同符号的开始和结束括号的正则表达式
例如。a.|b.|c.d||.e
将产生值a
,|b.|c.d||
和e
更新
感谢所有的评论。我必须为这个问题提供一些背景信息。我基本上想模仿javascript语法
a.hello is a["hello"] or a.hello
a.|hello| is a[hello]
a.|b.c.|d.e||.f.|g| is a[b.c[d.e]].f[g]
所以我想要做的是将符号分解为:
[`a`, `|b.c.|d.e||`, `f`, `|g|`]
如果它们被管道引用,然后通过它们重复
我在这里有一个没有管道的语法实现:
https://github.com/zcaudate/purnam
我真的希望不使用解析器,主要是因为我不知道如何使用,而且我认为它不能证明必要的复杂性是合理的。但如果正则表达式不能削减它,我可能不得不这样做。