我有一些这样的文字
Notes:
He jumped the sea-horse
but it looked ropey
Then he left
但有时会像这样
Notes:
Clay is only green
When it is seen
我需要在“Notes”之后捕获4行文本,因此输出应为
Notes:
He jumped the sea-horse
but it looked ropey
Then he left
和第二个例子
Notes:
我尝试过匹配换行符,但只能在正则表达式的其余部分后匹配
Notes:.*\n{4}
如何创建一个正则表达式,允许我重复整行和换行符的匹配四次? (这是一个非捕获组吗?)
答案 0 :(得分:2)
如果我正确理解了这个问题,并且你想要捕获前4行,而不是关心它们是否为空白,那么最好不要使用正则表达式而只是拆分换行符上的文本以便获得一串字符串。像这样:
string[] lines = text.split("\\r")
然后简单地选择数组的前四个元素。
答案 1 :(得分:1)
你很近 - 在Notes:.*\n{4}
{4}
只绑定到换行符,所以它只会捕获“注释:”后跟任何内容,然后是4个空白行。
您正在寻找类似Notes:\n((?:.*\n){1,4})