Разделить строку, которая выглядит как вызов функции Python для аргументовPython

Программы на Python
Ответить
Anonymous
 Разделить строку, которая выглядит как вызов функции Python для аргументов

Сообщение Anonymous »

Я пытаюсь создать функцию, которая принимает строку, похожую на вызов функции в Python, и возвращает аргументы функции.
Пример:

Код: Выделить всё

"fun(1, bar(x+17, 1), arr = 's,y')"
результат:

Код: Выделить всё

["1", "bar(x+17, 1)", "arr = 's,y'"]
Проблема использования регулярных выражений заключается в том, что я не знаю, можно ли не разбивать запятые внутри круглых скобок или кавычек.
Спасибо.< /p>

Изменить: этот Python: разделение функции и аргументов не дает правильного ответа на вопросы, поскольку он не обрабатывает запятые в круглых скобках или кавычках.

Как @Kevin сказал, что регулярные выражения не могут решить эту проблему, поскольку они не могут обрабатывать вложенные круглые скобки.

Подробнее здесь: https://stackoverflow.com/questions/315 ... -arguments
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»