我正试图编写一个代码,将列表中的每个字符串相互比较,然后生成相似性的正则表达式
list = ["LONDON-UK-L16-N1",
"LONDON-UK-L17-N1",
"LONDON-UK-L16-N2",
"LONDON-UK-L17-N2",
"PARIS-France-L16-N2"]
我试图得到如下输出
LONDON-UK-L(16|17)-N(1|2)
可能吗?谢谢
更新:我只是想说清楚,我正在努力 输入:列表或字符串 操作:将列表项相互比较,检查相似性(以修复字符串的第一组),并对项的任何其他不相似部分使用正则表达式,因此我们可以使用单个输出(使用正则表达式),而不是for项 输出:要匹配的正则表达式不相似
输入: tez15-3-s1-y2 tez15-3-s2-y2 bro40-55-s1-y2
输出: tez15-3-s(1 | 2)-y2 ,bro40-55-s1-y2
我已经实施了以下解决方案:
你的问题并不完全清楚确切的问题是什么。由于您作为示例提供的数据是一致且有序的,因此只需将列表中的项目拆分并进行分类,即可轻松解决此问题
将输出:
因为这里只有两个标记(“L”和“N”),所以我只是将它们写入代码中。如果可能有许多标签,则您可以使用以下方法按任意字母进行剥离:
然后遍历所有标记,而不是在第二个循环中仅获取“L”和“N”
我就这个问题发布了这个新的(第二个)实现,我认为更准确,希望有帮助:
相关问题 更多 >
编程相关推荐