如何匹配从字符串中特定位置开始的字符串?

时间:2017-05-19 16:16:50

标签: c# regex

从第4位开始匹配日期的正则表达式是什么?我希望它只返回日期而不是整个匹配。这就是我所拥有的。

^.{4}[2-9][0-9]{3}[0-1][0-9][0-9]{2}
DCSG20170406090204-FQI-046.TOT  04-FIC-046    00060Y000815050.562500G
DCS120170406090204-FQI-045.TOT  04-FIC-045    00060Y000878279.312500G
DCS120170406090204-FQI-046.TOT  04-FIC-046    00060Y000815050.562500G

http://regexr.com/3g0d5

2 个答案:

答案 0 :(得分:1)

您可能想要一个非捕获组:

^(?:.{4})([2-9][0-9]{3}[0-1][0-9][0-9]{2})(?:.*)$

(将鼠标悬停在http://regexr.com/3g0db的文字上,它只显示一个组)

答案 1 :(得分:1)

我不了解C#,但从我的Perl角度来看,我认为不需要正则表达式。如果您只是想要"日期"并且不需要对其进行验证或将其分成组件,只需从位置4(基于0)和8个字符开始获取子字符串。