我一直在尝试匹配以下内容:
First Group:Line1,
Line2,
..
LineX
Second Group:Some_Sample_text
使用此查询:
First Group:(?<first_group>.+\n*\n)Second Group:(?<second_group>.*)
我的主要目标是捕获Line1和LineX之间的任何数量的行(因为我无法预计会有多少行),但是由于没有选择匹配文件结尾的选项,我可能需要使用“ \ n”标记。我也尝试过使用IF和THEN语句,但是我无法使其正常工作。
任何想法表示赞赏。
答案 0 :(得分:1)
在这里,我们可能想设计一个只传递换行符的表达式,例如
First Group:([\s\S]*)Second Group:(.*)
First Group:([\d\D]*)Second Group:(.*)
First Group:([\w\W]*)Second Group:(.*)
我们将其扩展为
First Group:([\s\S]*)Second Group:([\s\S]*)
First Group:([\d\D]*)Second Group:([\d\D]*)
First Group:([\w\W]*)Second Group:([\w\W]*)
如果我们的第二组将有多行。
您可以使charachter类变得不贪婪,以防止过度匹配([\ s \ S] *?)
随后表达式将变为
First Group:([\s\S]*?)Second Group:([\s\S]*)
例如。