我们遇到了这个正则表达式的一些问题。纺纱正则表达式有一个小错误
/\(\((((?>[^\(\(\)\)]+)|(?R))*)\)\)/x
它用于“旋转”文本。当我们有一句像“((我们((爱的样子))这件衬衫(尺码为xl)))”的句子时,他不能执行这个权利。由于句子末尾有三个括号(因为最后三个括号中的第一个括号属于文本本身)。
它需要如何工作:正则表达式需要得到前2个括号,如果它有3个或更多的开始,结束最后2个,当它有3个或更多的括号。那可能吗??? ((((衬衫|毛衣))))“效果很好(见最后4个圆括号?)。所以只有属于文本中的括号才会出现错误,在旋转OR的起始括号后面开始,在结束括号之前结束。
你是我的英雄!最后一个正则表达式('\(\:\(((?:[^()] |((?R))|(\((?:[^()] |(?3))* \)))*) \)\)'),就像一个沙姆沙! –
@ErikVandeVen我只是想帮助^^;我很高兴它为你工作:) – Jerry