如何用正则表达式提取yyMMdd格式日期的年、月、日?
正则提取yyMMdd格式日期的年、月、日
你的日期都是固定6位的yyMMdd格式,直接用分组捕获就能一次性提取年、月、日,比分开匹配高效得多:
核心正则表达式
^(\d{2})(\d{2})(\d{2})$
分组说明
- 第一个括号
(\d{2}):捕获前两位数字,对应年份(yy) - 第二个括号
(\d{2}):捕获中间两位数字,对应月份(MM) - 第三个括号
(\d{2}):捕获最后两位数字,对应日期(dd)
比如匹配981105时,各分组结果为:
- 分组1:
98(年份) - 分组2:
11(月份) - 分组3:
05(日期)
单独匹配各部分的正则(如果需要)
如果一定要分开匹配每一部分,可以用正向预查来定位:
- 匹配年份:
^\d{2}(你之前写的^\d{1}[0-9]其实等价于这个,\d{2}更简洁) - 匹配月份:
(?<=^\d{2})\d{2}(确保前面是两位年份数字) - 匹配日期:
(?<=^\d{4})\d{2}(确保前面是四位年+月数字)
内容的提问来源于stack exchange,提问作者Khoi Vinh
相关产品推荐
相关产品推荐

