Regex 需要保留重复项并删除所有唯一的行

Regex 需要保留重复项并删除所有唯一的行,regex,compare,notepad++,Regex,Compare,Notepad++,我有两个大的文本文件 查找比较两个文件中包含相同字符串的行的内容,并删除所有其他内容。希望这是有道理的 例如: list1.txt number1:1010:1020:1030 number2:1010:1020:1030 number3:1010:1020:1030 number4:1010:1020:1040 列表2.txt number1 number2 number3 number100 输出= number1:1010:1020:1030 number2:1010:1020:103

我有两个大的文本文件 查找比较两个文件中包含相同字符串的行的内容,并删除所有其他内容。希望这是有道理的

例如:

list1.txt

number1:1010:1020:1030
number2:1010:1020:1030
number3:1010:1020:1030
number4:1010:1020:1040
列表2.txt

number1
number2
number3
number100
输出=

number1:1010:1020:1030
number2:1010:1020:1030
number3:1010:1020:1030

有什么能做到这一点的吗?我非常感谢您的帮助,谢谢。

我将画出您应该编写的程序

  • 逐行将
    file1.txt
    读入
    列表中
  • 同样适用于
    file2.txt
  • 在文件1的行上循环,并检查行
    。是否包含()
    您在文件2中读取的任何行。(通过嵌套另一个循环)
  • 如果它确实包含文件2的某些内容,请立即转到文件1的下一行(通过
    继续
    -ing外部循环)。如果没有,则从列表中删除该元素(在删除当前索引中的项时,不要忘记减少循环变量)

  • 非常模糊的问题。您的所有行都是unqiue(因为每行开头都有
    numberX:
    )。而且,这绝对不是您应该使用正则表达式来完成的。抱歉,正在查找任何可以完成此操作的内容。有个节目就好了。对于这个模糊的问题,很抱歉,正在查找比较两个文件中包含相同字符串的行的内容,并删除所有其他内容。希望这是有意义的。我认为我们感到困惑的是list1.txt和list2.txt没有任何相同的行。尽管它们都包含字符串“number1”,但第一个文件在同一行中包含其后的文本,第二个文件没有任何额外的文本。是的,很抱歉这个模糊的问题。我正在寻找从txt1获取字符串并将其与txt2进行比较的东西。然后保留包含txt1字符串的所有行,并删除所有其他内容。