0

我一直在尝试降低这个正则表达式并搜索了很多答案我需要的是从文本文件中获取第 n 行(在本例中为第 4 行)我在 atm 中得到了这个

^(?<=([^\n]*\n){3})[^\n]*\n

但它似乎不起作用(关于需要在后视中固定长度的模式)有什么办法可以克服这个障碍吗?

如果这个问题需要,任何人都可以提供更正\不同的正则表达式吗?

谢谢

编辑:

我正在 PowerGrep 中尝试这个正则表达式,但它不起作用

PS:除了正则表达式之外,还有其他方法可以在 powergrep 中获取第 n 行吗?

4

2 回答 2

1

可能需要使用捕获缓冲区。
此正则表达式使用 MULTI_LINE 模式。
捕获缓冲区 1 包含第 4 行

 #  (?:^[^\n]*\n){3}([^\n]*)

 (?: ^ [^\n]* \n ){3}
 ( [^\n]* )

编辑:这是没有多行模式的同一件事

 #  ^(?:[^\n]*\n){3}([^\n]*)

 ^ 
 (?: [^\n]* \n ){3}
 ( [^\n]* )
于 2013-11-15T19:35:10.067 回答
-1

最好只使用 Regex.Split

Regex.Split(text, "\n", RegexOptions.Multiline)(3)

这将为您提供文本字符串中的第 4 行。

于 2016-11-20T21:39:25.767 回答