我刚开始学习正则表达式,但我很难获得以下字符串的第一个日期:
gs://dcdt_-dcm_account/dcm_account_click_2016070510_20160631_165654_2592254.csv.gz
我想获得20160705
任何想法?
答案 0 :(得分:2)
尝试使用此正则表达式:
^.*dcm_account_click_(\d{8}).*$
(\d{8})
术语是捕获组,并告诉正则表达式引擎提取它并使其可用。
\d{8}
按顺序匹配8个数字,这就是你所追求的。
<强>演示:强>
答案 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