正则表达式:在非唯一文本字符串和唯一文本字符串之间提取文本

时间:2016-04-15 10:29:56

标签: regex string regex-lookarounds

我正在尝试使用正则表达式在多行和字符之间提取非唯一文本字符串和唯一文本字符串

示例文字:

Blah 
Date: 2nd May 2015
Blah
Unique Report 1
Blah
Date: 1st April 2014
Blah
Blah
Unique Report 2
Blah

我正在尝试获取“4月1日”的日期,即“独特报告2”

我正在尝试代码:

(?<= Date:)([\d\D]+?)(Unique Report 2)

但这是从Date的第一个实例中一直提取的:

有没有办法转到唯一报告2并找到日期之前的第一个实例:

由于

2 个答案:

答案 0 :(得分:0)

这个应该可行,但它不是很通用:

Date\:(\w|[[:space:]])+(?=Blah\sBlah\sUnique Report 2)

答案 1 :(得分:0)

尝试:

(?<=Date: )(?!.*Date:)([^\n]+).*(Unique Report 2)