我試圖從 JavaScript 中的字串中獲取模式,我的字串在01-01-2000 - 01-01-2010這里我想讓這兩個日期分開,如date1 = 01-01-2000和date2 = 01-01-2010。
我試過這段代碼:
var date = "01-01-2000 - 01-01-2010";
var date2 = date.match(/([0-9]{2})-([0-9]{2})-([0-9]{4})/);
console.log(date2[0]);
output: 01-01-2000 [correct]
但我只使用console.log(date2[1])它顯示01。
請幫助如何實作這個功能的目標。
期待輸出:
date[0]: 01-01-2000
date[1]: 01-01-2010
uj5u.com熱心網友回復:
如果您的日期格式是固定的,您可以使用 split 代替。
var date = "01-01-2000 - 01-01-2010";
var date2 = date.split(" - ")
console.log(date2);
uj5u.com熱心網友回復:
如果您想使用模式,您只需將 /g 最后添加到字串中即可進行全域搜索:
var date = "01-01-2000 - 01-01-2010";
var date2 = date.match(/([0-9]{2})-([0-9]{2})-([0-9]{4})/g);
console.log(date2[0]);
console.log(date2[1]);
uj5u.com熱心網友回復:
您可以嘗試String.matchAll()回傳與正則運算式匹配字串的所有結果的迭代器,包括捕獲組。
演示:
var date = "01-01-2000 - 01-01-2010";
var date2 = [ ...date.matchAll(/([0-9]{2})-([0-9]{2})-([0-9]{4})/g) ];
for (const match of date2) {
console.log(match[0])
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/498437.html
標籤:javascript 数组 模式匹配
