Как получить имя функции и параметры функции C с помощью регулярного выражения Python
Всем Привет,
Я новичок в python и пытаюсь изучить его во время работы.
Мне нужно узнать имя функции вместе с параметрами из списка "*.C" файлы, использующие регулярные выражения python.
Пример:
static void FunctionNameInC(const boolean_T *UnitDelay1_l, const boolean_T *UnitDelay2_n) {
Желаемый результат таков :
Function Name: FunctionNameInC ParametrsList: const boolean_T *UnitDelay1_l, const boolean_T *UnitDelay2_n
До сих пор то, что я пробовал, это
import re result=re.findall(r'\(\w+','static void FunctionNameInC(const boolean_T *UnitDelay1_l, const boolean_T *UnitDelay2_n)') print result
выход:
['(const']
что далеко не приемлемо,как с этим поступить?
(1) Проблемы, с которыми я сталкиваюсь, как распознать любую строку в файле "*.c" в качестве определения функции . Я думал использовать последовательность "){" для идентификации имени функции,но мой формат кода "C" иногда непоследователен
"){"и порой это
")\n{", как я могу решить эту проблему в регулярном выражении ,потому что, когда я попытался использовать in between
'\(\n\w+'это не ужасно.
(2) предполагая ,что проблема 1 закончена,как я буду возвращаться назад в строке, чтобы напечатать имя функции, хотя я уже пробовал использовать
"^"вещь ,но безрезультатная.
Любая помощь будет высоко оценена.
С уважением
Нихар.
Что я уже пробовал:
So far what I have tried is <pre>import re result=re.findall(r'\(\w+','static void FunctionNameInC(const boolean_T *UnitDelay1_l, const boolean_T *UnitDelay2_n)') print result
выход:
['(const']
Richard MacCutchan
Функции в языке Си имеют достаточно свободную форму, поэтому маловероятно, что вы сможете создать регулярное выражение для улавливания каждой вариации.