我一直试图让这个正则表达式下来并搜索很多答案 我需要的是从文本文件中获取第n个(本例中为第4行) 我得到了这个atm
^(?<=([^\n]*\n){3})[^\n]*\n
但它似乎不起作用(在lookbehind中需要固定长度模式的东西) 有没有办法克服这个障碍?
如果这个问题需要,任何人都可以提供更正\不同的正则表达式吗?
由于
编辑:
我正在PowerGrep中试用这个正则表达式,它只是不起作用
P.S: 除了正则表达式之外,有没有办法在powergrep中获得第n行?
答案 0 :(得分:1)
可能需要使用捕获缓冲区 此正则表达式使用MULTI_LINE模式 捕获缓冲区1包含第4行
# (?:^[^\n]*\n){3}([^\n]*)
(?: ^ [^\n]* \n ){3}
( [^\n]* )
编辑:没有多线模式,这是同样的事情
# ^(?:[^\n]*\n){3}([^\n]*)
^
(?: [^\n]* \n ){3}
( [^\n]* )
答案 1 :(得分:0)
更好的方法是使用Regex.Split
Regex.Split(text, "\n", RegexOptions.Multiline)(3)
这将为您提供文本字符串中的第4行。