Regex 如何查找具有不同单个字符的行

Regex 如何查找具有不同单个字符的行,regex,Regex,示例文本文件: \folder_0 \folder-0 \folder-1 \folder'2 \folder-3 \folder_3 \folder'3 \folder,3 \folder,4 \文件夹0 \文件夹-0 \文件夹-1 \文件夹'2 \文件夹-3 \文件夹3 \文件夹'3 \文件夹,3 \文件夹,4 如何找到同一个字符的线条。例如: \folder_0 \folder-0 \folder-3 \folder_3 \folder'3 \folder,3 \文件夹0 \文件夹-0 \

示例文本文件:

\folder_0 \folder-0 \folder-1 \folder'2 \folder-3 \folder_3 \folder'3 \folder,3 \folder,4 \文件夹0 \文件夹-0 \文件夹-1 \文件夹'2 \文件夹-3 \文件夹3 \文件夹'3 \文件夹,3 \文件夹,4 如何找到同一个字符的线条。例如:

\folder_0 \folder-0 \folder-3 \folder_3 \folder'3 \folder,3 \文件夹0 \文件夹-0 \文件夹-3 \文件夹3 \文件夹'3 \文件夹,3
不要使用正则表达式

首先定义一个函数,在给定两个字符串(文件中的行)的情况下,该函数返回true,它们只相差一个字符

然后使用关联数组收集基于该函数仅相差一个字符的行组


处理文件后,关联数组中包含多行的任何条目都是您想要的结果。

一种可能的方法是。。。(在Perl中)


使用哪种工具或语言测试此代码?此外,这些行必须是连续的吗?最后,你试过什么?
\folder-0
\folder\u 3
有两个字符不同,那么它们怎么可能在同一个结果集中呢?@hochl我想他不是指成对的,而是指连续的。那么为什么
\folder,4
不是这个结果集中的一部分呢
\folder,3
是一个成员,区别只是一个。这个问题解释得不是很好。你说得对,那应该在片场里。我已经编辑了这个问题。我本可以添加更多的背景细节,但我因提出具体问题而受到批评。在我的现实世界中,它们是成对出现的。谢谢,一旦我知道我不是在重新发明轮子,我就写了一个脚本来实现它。
@m = (m/[\s\S]*?(?:^|\n)(?=(.*?)(.)(.*?)(?:\n|$)(?:[\s\S]*?\n|)(\1.\3)(?:\n|$))/g);
@p = ();
while ($#m > 0) {
  ($a, $b, $c, $d) = (shift(@m), shift(@m), shift(@m), shift(@m));
  push(@p, ("$a$b$c", $d));
}
@p = keys %{{map{$_ => 1} @p}};