我有 MMYY
模式(信用卡到期)
我需要分析每个部分(01 和 14):所以我尝试了:
'0114'.split(/\d{2}/i) // ["", "", ""]
它实际上将 2 个数字视为分隔符,因此我什么也得不到。
但是,我设法做到了:
'0114'.match(/\d{2}/ig) //["01", "14"]
但我想知道split
。
我也可以这样做吗split
?
我有 MMYY
模式(信用卡到期)
我需要分析每个部分(01 和 14):所以我尝试了:
'0114'.split(/\d{2}/i) // ["", "", ""]
它实际上将 2 个数字视为分隔符,因此我什么也得不到。
但是,我设法做到了:
'0114'.match(/\d{2}/ig) //["01", "14"]
但我想知道split
。
我也可以这样做吗split
?
例如:
"1234".split(/(?=..$)/) => ["12", "34"]
任意长度字符串的通用解决方案似乎是不可能的,我们能得到的最好的解决方案是:
str.split(str.length & 1 ? /(?=(?:..)*.$)/ : /(?=(?:..)+$)/)
这应该这样做:
'0114'.split(/(?=..$)/)
没有理由使用正则表达式 - 我只是使用子字符串:
var str = '0114';
var month = str.substr(0, 2);
var year = str.substr(2, 2);
console.log(month, year); // 01 14