0

我的正则表达式:

(?<=(?i)start\s+date\s+)([0-9]{2}[\.]{1}[0-9]{2}[\.]{1}[0-9]{4})

我正在尝试匹配一个以“开始日期”开头但只希望返回日期的日期。

因此,例如“开始日期 01.01.2000”的匹配应该返回“01.01.2000”,我知道我很接近但我似乎无法让我的表达式的第一部分不包含在结果中。非常感谢任何帮助

4

3 回答 3

2
(?<=start\sdate)\s+([0-9]{2}[\.]{1}[0-9]{2}[\.]{1}[0-9]{4})

将工作。我认为问题在于 \s+,变长后看。大多数正则表达式引擎不实现可变长度查找。

于 2012-10-21T18:54:15.157 回答
0

试试这个:

(?<=start\sdate\s)([0-9]{2}\.[0-9]{2}\.[0-9]{4})
于 2012-10-21T18:54:16.330 回答
0

如果您一直在寻找匹配的字符串,start date ##.##.####可以这样做:

start date ([0-9]{2}\.[0-9]{2}\.[0-9]{4})

但是在这种情况下,您也可以简单地做

substr($string, strrpos($string, "start date ") + 11, 10);
于 2012-10-21T18:54:34.013 回答