正则表达式与单词匹配,并与匹配的

时间:2020-04-17 13:13:19

标签: python re

我有一个问题,我很长一段时间都找不到解决方案。我的猜测是最好的方法是通过re,但是我愿意接受任何建议。

我在列表中有以下文本,该文本已写入一个文本文件,以供其他程序进行一些计算导入。

问题是我必须包含具有类似[] s = 0的匹配行(即[] s = 0),如下所示:[] s = 0-> p01:(s'= 1)+ p02 :( s'= 2)。因此,前两行必须由+运算符合并,随后的第三和第四行依此类推。

module main
[]s=0 -> p01:(s'=1);
[]s=0 -> p02:(s'=2);
[]s=1 -> p10:(s'=0);
[]s=1 -> p12:(s'=2);
[]s=2 -> p20:(s'=0);
[]s=2 -> p23:(s'=3);
[]s=3 -> p34:(s'=4);
[]s=4 -> p40:(s'=0);
[]s=4 -> p45:(s'=5);
[]s=4 -> p46:(s'=6);
[]s=5 -> p57:(s'=7);
[]s=6 -> p67:(s'=7);
[]s=7 -> p70:(s'=0);
endmodule

1 个答案:

答案 0 :(得分:1)

假设您将数据作为字符串存储?

data = ["[]s=0 -> p01:(s'=1);",
"[]s=0 -> p02:(s'=2);",
"[]s=1 -> p10:(s'=0);",
"[]s=1 -> p12:(s'=2);",
"[]s=2 -> p20:(s'=0);",
"[]s=2 -> p23:(s'=3);",
"[]s=3 -> p34:(s'=4);",
"[]s=4 -> p40:(s'=0);",
"[]s=4 -> p45:(s'=5);",
"[]s=4 -> p46:(s'=6);",
"[]s=5 -> p57:(s'=7);",
"[]s=6 -> p67:(s'=7);",
"[]s=7 -> p70:(s'=0);"]

dict_ = {}
for item in data:
    split = (item.split("=")[1].split(" ")[0])
    if not split in dict_:
        dict_[split] = item
    else:
        dict_[split] = dict_[split] + " + " + item

for key, value in dict_.items() :
    print (key, value)