Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
regex如何在文件中查找两行或多行之间有一行的缩进行_Regex_Lines - Fatal编程技术网

regex如何在文件中查找两行或多行之间有一行的缩进行

regex如何在文件中查找两行或多行之间有一行的缩进行,regex,lines,Regex,Lines,我有一些文件,必须找到以“abc”开头的相同行,以及这两行之间的精确一行 lorem abcdefg lorem abcdefg lorem lorem abcdefg abcdefg lorem lorem 在本示例中,第2行和第4行应该匹配,但不是第4行和第7行,也不是第7行和第8行。有可能吗?既然你不说那种语言,我会这样做: abc([^\n]+)\n[^\n]*\nabc(\1) 检查以下各项: 字母abc 一个没有新线的俘虏群 新行字符 一条全新的生产线 新行字符 先前匹配的第一

我有一些文件,必须找到以“abc”开头的相同行,以及这两行之间的精确一行

lorem
abcdefg
lorem
abcdefg
lorem
lorem
abcdefg
abcdefg
lorem
lorem

在本示例中,第2行和第4行应该匹配,但不是第4行和第7行,也不是第7行和第8行。有可能吗?

既然你不说那种语言,我会这样做:

abc([^\n]+)\n[^\n]*\nabc(\1)
检查以下各项:

  • 字母abc
  • 一个没有新线的俘虏群
  • 新行字符
  • 一条全新的生产线
  • 新行字符
  • 先前匹配的第一组内容
检查其是否适用于您的语言:
(例如,在.NET中这是无效的)。

什么环境?到目前为止你做了什么?你读过a的构成要素吗?现在我读过:-)环境是windows和FindStrapate,请你花时间阅读它。现在请将您的工作作为有问题的代码发布。:-)为什么不干脆
abc([^\n]+)\n[^\n]*\nabc(\1)
。这将在.NET和(如果不是全部的话)大多数regex版本中都可以使用。我在regex101中尝试了这个“(abc.*\n.*\nabc.*)/g”,它就在那里工作了。我在windows findstr或“搜索和替换”程序中需要它,但我没有找到匹配的。你是对的@Stevendogart。我要换成你的答案,简单一点。我这样做是因为这是一场小组赛,我错误地认为\1这只是为了替换:pAbout您的答案@gsxr1300不正确。您的正则表达式接受多行,并且不匹配abc后面的相同文本。