我这里有这个样本:
received date
something
something
26/6/2013
.
.
due date
something
27/6/2013
我想获得收到日期的第一次出现。我正在尝试使用这个正则表达式:
(?is)(?<=(invoice)?(?<!due.*?)date.*?)(\d{1,4}/\d{1,4}/\d{1,4})
我想要做的是获取之前收到的日期,但是如果有前缀的则应避免获取。我只是想得到26/6/2013 ..也可能,它会像这样的东西一样工作:
date
something
something
26/6/2013
.
.
due date
something
27/6/2013
我是regex的新手,我花了很多时间尝试不同的组合,但似乎都没有用!
请帮助谢谢!
编辑:
我正在使用Expresso ..
以下是我从上面得到的输出:
26/6/2013
27/6/2013
同样,我只想得到第一个......
答案 0 :(得分:0)
你可以试试这个
received date[\w\s]*(?!due date)[\w\s]*[^\d](\d{1,4}/\d{1,4}/\d{1,4})
第1组捕获日期
OR
/received date.*?(?![\r\n]+due date).*?[^\d](\d{1,4}/\d{1,4}/\d{1,4})/s
答案 1 :(得分:0)
问题可以简化为:获取第一个日期。
(?s)(\d{1,2}/\d{1,2}/\d{2,4}).*