正则表达式匹配新行直到

时间:2015-02-09 12:51:45

标签: regex

苦苦挣扎......这是我的数据,我想从第一个数据组中选择所有数据直到下一个

原始

data-group object name
1234
5677
7890
12356
data-group object name2

期望输出

data-group object name
1234
5677
7890
12356

我目前正在展望积极向前看,并提出以下表达方式

(?=data-group)data-group

这选择。

data-group
data-group

如何让它与新行之间的任何内容相匹配。

1 个答案:

答案 0 :(得分:1)

您需要使用DOTAll修饰符(?s)才能使点匹配换行符。

(?s)\bdata-group\b.*?(?=\bdata-group\b)

DEMO

这不会在最后打印额外的换行符。

(?s)\bdata-group\b.*?(?=\ndata-group\b)

如果你的lang不支持s修饰符,请使用[\s\S]*?代替.*?[\s\S]*?非贪婪地匹配任何空格或非空格字符零次或多次。

\bdata-group\b[\s\S]*?(?=\ndata-group\b)

DEMO