一个正则表达式问题,例如一个日期2016/01/024这种情况怎么用正则表达式取出2016/01/24这样的结果
2个回答
展开全部
^(\d{4})/0*(\d{2})/0*(\d{2})$
解释:
^ #匹配字符串开头
(\d{4}) #匹配四位数字,也就是年,捕获到分组1当中
/ #匹配斜杠
0*(\d{2}) #0*表示前面可以有任意数量的0
#(\d{2})表示匹配两位数字的月份并捕获到分组2
/ #匹配斜杠
0*(\d{2}) #0*表示前面可以有任意数量的0
#(\d{2})表示匹配两位数字的日并捕获到分组3
$ #匹配字符串结尾
前面不管有多少个0,最后日期和月份都只会捕获2位数字,不多不少。
所以只要将捕获到的内容替换为:
\1/\2/\3
就可以将
2016/01/024
转换为
2016/01/24
了
解释:
^ #匹配字符串开头
(\d{4}) #匹配四位数字,也就是年,捕获到分组1当中
/ #匹配斜杠
0*(\d{2}) #0*表示前面可以有任意数量的0
#(\d{2})表示匹配两位数字的月份并捕获到分组2
/ #匹配斜杠
0*(\d{2}) #0*表示前面可以有任意数量的0
#(\d{2})表示匹配两位数字的日并捕获到分组3
$ #匹配字符串结尾
前面不管有多少个0,最后日期和月份都只会捕获2位数字,不多不少。
所以只要将捕获到的内容替换为:
\1/\2/\3
就可以将
2016/01/024
转换为
2016/01/24
了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询