正则表达式,匹配多行

时间:2014-10-03 10:23:06

标签: regex

鉴于我有以下文字;

123            XXXXX                                         123-456-678
               YYYYYY
               121-121-1121-11 Foo
               Street 11

               12121 FINLAND
               Building
               Lorem Ipsun
               Ipsum


124            XXXXX                                         123-456-890
               YYYYYY
               121-121-1121-21 Bar
               Street 12

               12121 SWEDEN
               House
               Lorem Ipsun2
               Ipsum2

我如何将其捕捉到两场比赛中?意思是第一个将从123行开始并包括所有行,直到我们遇到124行,这将是另一个匹配。

我在(?:^\d+)(\s+.*)+取得的最大成功,但这太贪婪了。

2 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式:

/^(\d+.*?)(?=^\d+|\z)/gms

RegEx Demo

答案 1 :(得分:1)

你也可以试试这个正则表达式,

(?<=\n|^)((?:\d+.*?\n)(?=\d+)|(?:\d+.*?)(?=$))

DEMO