In a project I have a text with patterns like that:
{| text {| text |} text |}
more text
I want to get the first part with brackets. For this I use preg_match recursively. The following code works fine already:
preg_match('/{((?>[^{}]+)|(?R))*}/x',$text,$matches);
But if I add the symbol "|", I got an empty result and I don't know why:
preg_match('/{|((?>[^{}]+)|(?R))*|}/x',$text,$matches);
I can't use the first solution because in the text something like { text } can also exist. Can somebody tell me what I do wrong here? Thx
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…