Python 统计 Go 文件类、属性、方法数量:为什么方法数量只统计到一个?

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 文件类、属性、方法数量:为什么方法数量只统计到一个?的详细内容,更多请关注硕下网其它相关文章!