рычаг и слушатель метод обычно используется, но существуют другие вещи, которые можно сделать. В зависимости от размера Вашего приложения, и то, кто Ваша попытка позволить видит код (эта попытка быть сценарием FOSS или чем-то в доме), будет влиять значительно, как Вы хотите позволить плагины.
kdeloach имеет хороший пример, но его функция реализации и рычага немного небезопасна. Я попросил бы Вас давать больше информации природы php приложения Ваша запись, И как Вы видите, что плагины вписываются.
+1 к kdeloach от меня.
Вы можете использовать pyparsing
#!/usr/bin/env python
from pyparsing import nestedExpr
import sys
astring=sys.argv[1]
if not astring.startswith('('):
astring='('+astring+')'
expr = nestedExpr('(', ')')
result=expr.parseString(astring).asList()[0]
print(result)
Запуск дает:
% test.py "foo(bar(bar(foo)))(foo1)bar1"
['foo', ['bar', ['bar', ['foo']]], ['foo1'], 'bar1']
Вы не можете сделать это с помощью регулярного выражения. Python не поддерживает рекурсивное регулярное выражение
К сожалению, я не думаю, что регулярные выражения Python поддерживают рекурсивные шаблоны.
Вы, вероятно, можете проанализировать это с помощью чего-то вроде pyparsing: http://pyparsing.wikispaces.com/
]