Python 统计 Go 文件类、属性、方法数量:为什么方法数量只统计到一个?
python 统计 go 文件类、属性、方法数量
想要统计 go 文件内的类、属性、方法的数量,但按照给出的代码,方法数量只统计到一个。
问题分析
问题在于用于匹配方法的正则表达式存在错误。原始正则表达式为:
method_pattern = re.compile(r'funcs+((.*?))s+(w+)s*((.*?))s*{')
它将忽略最后一个花括号,导致正则匹配失败。
修正的方法
更新后的正则表达式如下:
method_pattern = re.compile(r'funcs+((.*?))s+(w+)s*((.*?))s+(.*?)s*{')
添加的 .*? 会匹配最后一个花括号之前的任何内容,包括空字符串。
更新后的代码:
# ... method_pattern = re.compile(r'funcs+((.*?))s+(w+)s*((.*?))s+(.*?)s*{') # ...
这样就可以正确匹配所有方法了。
以上就是Python 统计 Go 文件类、属性、方法数量:为什么方法数量只统计到一个?的详细内容,更多请关注硕下网其它相关文章!