jioqq237
2018-08-24 00:43
想把字符串中的时间格式,例如2011-01-01和2011/01/01,都换成2011.01.01
我试了下面的写法,但是结果有问题
这是我一开始的写法:
'2011-01-01'.replace(/^(\d{4})(-|/)(\d{2})(-|/)(\d{2})/, '$1.$2.$3') ;
结果报错
然后我就加了转义
'2011-01-01'.replace(/^(\d{4})(-|\/)(\d{2})(-|\/)(\d{2})/, '$1.$2.$3') ;
结果变成2011.-.01
为什么会这样?
'2011/01/01'.replace(/[\-\/]/g, '.');
'2015-12-25'.replace(/(\d{4})(-|\/)(\d{2})(-|\/)(\d{2})/g,'$1.$3.$5')
因为你/^(\d{4})(-|\/)(\d{2})(-|\/)(\d{2})/ (-|\/) 这个也是一个分组。 [-/] 这个才是或的关系
用
'2011-01-01'.replace(/^(\d{4})[-/](\d{2})[-/](\d{2})/, '$1.$2.$3')
可以实现,为什么用|就不行
JavaScript正则表达式
96814 学习 · 119 问题
相似问题