

由于保密原因没办法发源文件,只能放两张图,这是待处理的文本。
格式是,第一个net_route参数是信号名,一个net_route后信号名可能有一个也可能有多个。之后的参数有from,to,through,using_trace,tdm_module,tdm_inst_name,tdm_net_。其中from,to,using_trace是一定有的,其他参数可能会有缺失。并且有的行只有一轮从from往后的参数,有的行有两轮,并且两轮所确实的参数不一致。 我要做的是,提取参数信息,用逗号隔开,有缺失参数时,需要留下空白(从文本上看就是两个逗号,,)。并且,如果net_route后的信号名有多个,需要把每个信号名单独拿出来,形成单独的一行,这些信号名后面的参数一致,并且信号名是有顺序的,处理后要在信号名后打个顺序标签。 以下是我目前的处理脚本,我的思路主要是正则匹配。 首先原文本中的\表示和后面的内容是同一行,但在脚本中会把这个看做字符串,第一步我把\和挨着的换行符替换成空白。第二步把每个信号名拆成一行并打上标签输出成一个新文本。第三步,如果正则匹配到一个from,就按照一轮的格式逐个参数匹配,匹配到就写参数,没匹配到就写逗号;如果匹配到两个from,这里我就不知道该怎么匹配了,刚开始以为两轮的from后参数缺失情况会一致,后来发现有的行两个from之后的参数缺失情况并不一致。


我现在遇到的问题,首先是两轮from参数缺失并不总是相同的情况下,不知道怎么去匹配。后续还有一个问题是,需要再把文本还原回去,以检查是否处理后有数据缺失