REGEX-如何获得下划线后的第一个日期?

时间:2016-07-05 16:51:27

标签: regex

我刚开始学习正则表达式,但我很难获得以下字符串的第一个日期:

gs://dcdt_-dcm_account/dcm_account_click_2016070510_20160631_165654_2592254.csv.gz

我想获得20160705

任何想法?

3 个答案:

答案 0 :(得分:2)

尝试使用此正则表达式:

^.*dcm_account_click_(\d{8}).*$

(\d{8})术语是捕获组,并告诉正则表达式引擎提取它并使其可用。

\d{8}按顺序匹配8个数字,这就是你所追求的。

<强>演示:

Regex101

答案 1 :(得分:0)

你可以使用这样的正则表达式:

k_(\d{8})

或带有积极的背后隐藏

(?<=k_)(\d{8})

然后访问捕获组。

<强> Working demo

顺便说一句,如果你只是使用(\d{8})并寻找第一场比赛,它也会有效。

答案 2 :(得分:0)

如果在第一个日期之前有没有数字,您可能会很满意:

^\D*(\d+) # beginning of the line/string, followed by NON-digits
          # capture the digits afterwards

请参阅a demo on regex101.com