我有以下正则表达式:
\{(\w+)(?:\{(\w+))+\}+\}
我需要它与以下任何一个相匹配。
{a{b}}
{a{b{c}}}
{a{b{c{d...}}}}
但是,如果在最后一个例子中使用正则表达式,它只会匹配两个组:a
和c
,它不会匹配b
和'c'或其他可能在它们之间的单词。
我该如何使每个单独的组都能匹配,比如:
group #1: a
group #2: b
group #3: c
group #4: d
group #4: etc...
或者像这样。
group #1: a
group #2: [b, c, d, etc...]
同时,我该如何确保左边有相同数量的
{
和右边的 }
,否则就不匹配呢?感谢您的帮助,
David
{\w+(?:|(?R))}
。 - Dmitry Egorov{}
拆分的文本:{a{b{c{d}eee}}}
将会分别捕获出c
和eee
。这样可以吗? - Wiktor Stribiżewregex
一起使用。 - Wiktor Stribiżew{a{b{c{d}eee}}}
,请告诉我期望的行为是什么。 - Wiktor Stribiżew