如何在解析中使用多个条目格式化输出

我最近问了一个问题,答案非常好@tadman 如何修改代码以从外部获取查询并将结果保存到外部

如果我给下面的实体

B2D6P1 G5EC52 B2FDA8-2 B2MZB1 B3CJ34 B3CKG1 B3GWA1 

@tadman展示的内容给了我答案,但只有每行输入一次才有效。 如果我每行有两个或更多条目,输出将不同,例如我有以下内容

 B2D6P1 G5EC52;B2D6P4 B2FDA8-2;B2FDA8 B2MZB1;P18834 B3CJ34 B3CKG1 B3GWA1;Q8I7K5 

答案如下

 B2D6P1 rmd-2 G5EC52 tlf-1 B2D6P4 tlf-1 B2FDA8 smc-3 B2MZB1 col-14 P18834 col-14 B3CJ34 gcn-1 B3CKG1 urm-1 B3GWA1 nono-1 Q8I7K5 nono-1 

我想要的是,如果我在每一行中有两个条目(用;分隔)导致类似的输出,它只给我一个,否则给我尽可能多的例子,例如在上面的例子中,我的欲望输出是

 B2D6P1 rmd-2 G5EC52;B2D6P4 tlf-1 B2FDA8-2;B2FDA8 smc-3 B2MZB1;P18834 col-14 B3CJ34 gcn-1 B3CKG1 urm-1 B3GWA1;Q8I7K5 nono-1 

这可能吗 ?