Привет,
Подскажите пожалуйста с регулярным выражением. Мне нужно чтобы вот эту строку
Python
l = (sc.get('cms_msg_vc(asd)_url','Movie url')), max_length=255, help_text=_(sc.get('cms_msg_vc_url_help','Vimeo or youtube video URL'))
разобрать на
sc.get('cms_msg_vc(asd)_url','Movie url'))
и
sc.get('cms_msg_vc_url_help','Vimeo or youtube video URL'))
Т.е. вытащить их из нее...
Я делаю так:
In [126]: re.findall('\(sc.get\([^)]+\)\)',l)
Out[126]:
["(sc.get('cms_msg_vc_url_help','Vimeo or youtube video URL'))"]
In [127]:
Но выдается только второе выражение, потому что в первом есть скобки внутри...
Подскажите как написать такое регулярное выражение которое выбирало бы все подстроки у которых нет внтутри sc.get. Или чтобы это не реагировало на скобки, просто если я сделаю немного по другому, то будет браться вся строка... Смотрите:
In [130]: re.findall('\(sc.get\(.+\)\)',l)
Out[130]: ["(sc.get('cms_msg_vc(asd)_url','Movie url')), max_length=255, help_text=_(sc.get('cms_msg_vc_url_help','Vimeo or youtube video URL'))"]
Т.е. мне нужно выдернуть из нее аргументы метода sc.get()...
Спасибо