我试图从一些来源代码文档中提取职能和职能负责人。 这里的例子有:
################################################################################
# test module
#
# Description : Test module
#
DATABASE test
###
# Global Vars
GLOBALS
DEFINE G_test_string STRING
END GLOBALS
###
# Modular Vars
DEFINE M_counter INTEGER
###
# Constants
CONSTANT MAX_ARR_SIZE = 100
##################################
# Alternative header
##################################
FUNCTION test_function_1()
DEFINE F_x INTEGER
LET F_x = 1
RETURN F_x
END FUNCTION
###################################
# Function:
# This is a test function
#
# Parameters:
# in - test
#
# Returns:
# out - result
#
FUNCTION test_function_2( P_in_var )
DEFINE P_in_var INTEGER
DEFINE F_out_var INTEGER
LET F_out_var = P_in_var
RETURN F_out_var
END FUNCTION
FUNCTION test_init_array()
DEFINE F_array ARRAY[ MAX_ARR_SIZE ] OF INTEGER
DEFINE F_element INTEGER
FOR F_element = 1 TO MAX_ARR_SIZE
LET F_array[ F_element ] = F_element * F_element
END FOR
END FUNCTION
职能可能或不可能比职能更重。 I m试图抓住职能来源、职能负责人、职能名称和小组中的任何参数。 这里的表述是(如果是这样的话)的。 Net网,并一直在使用Regex英雄进行检测:
^([#]{0,1}.*?)(FUNCTIONs+(.*?)[(](.*?)[)].*?END FUNCTION)
看来,除了档案中的第一个功能(测试功能1)外,这似乎还涉及所有人。 最初的测试组——功能1)从第1行(来源档案的顶端)中捕获所有物品,直到联合国功能测试开始。 我认识到这一点,因为档案中还有其他评论的编号,但我只想抓住职能负责人。