gpt4 book ai didi

python - 如何使用正则表达式获取函数声明或定义

转载 作者:太空狗 更新时间:2023-10-30 01:52:34 25 4
gpt4 key购买 nike

我只想得到像这样的函数原型(prototype)

int my_func(char, int, float)
void my_func1(void)
my_func2()

使用正则表达式和 python 从 C 文件。

这是我的正则表达式格式:".*\(.*|[\r\n]\)\n"

最佳答案

这是我为此类任务编写的一个方便的脚本,但它不会提供函数类型。它仅适用于函数名称和参数列表。

# Exctract routine signatures from a C++ module
import re

def loadtxt(filename):
"Load text file into a string. I let FILE exceptions to pass."
f = open(filename)
txt = ''.join(f.readlines())
f.close()
return txt

# regex group1, name group2, arguments group3
rproc = r"((?<=[\s:~])(\w+)\s*\(([\w\s,<>\[\].=&':/*]*?)\)\s*(const)?\s*(?={))"
code = loadtxt('your file name here')
cppwords = ['if', 'while', 'do', 'for', 'switch']
procs = [(i.group(2), i.group(3)) for i in re.finditer(rproc, code) \
if i.group(2) not in cppwords]

for i in procs: print i[0] + '(' + i[1] + ')'

关于python - 如何使用正则表达式获取函数声明或定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/943391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com