鍍金池/ 問答/HTML/ 求助一條正則

求助一條正則

字符串可能是

單位是[年,月,星期,天,小時,分鐘,秒];
我出來的時間是形如:
1年3星期1小時,
10月3天10小時4分鐘
1天5小時6分鐘12秒
數(shù)值是數(shù)字,單位就是上面的.

我想拿到第一級的,上面三個分別拿到'1年','10月','1天'

請問能用正則拿到嗎?

回答
編輯回答
雅痞

str.match(/^(\d+\D+)/)

2017年12月31日 00:33
編輯回答
枕頭人

正則表達式是:/(\d(年|月|星期|天|小時|分鐘|秒))(\d(年|月|星期|天|小時|分鐘|秒))*/

匹配完成后取正則表達式中的第一個分組,也就是返回數(shù)組中的第二個元素:比如:

var result = '1年3星期1小時'.match(/(\d(年|月|星期|天|小時|分鐘|秒))(\d(年|月|星期|天|小時|分鐘|秒))*/);

console.log(result) //["1年3星期1小時", "1年", "年", "1小時", "小時", index: 0, input: "1年3星期1小時"]

result[1] //"1年"
2018年8月16日 04:21
編輯回答
離夢
"1年3星期1小時".replace(/(\d*.*?)\d.*/, "$1") //1年
"10月3天10小時4分鐘".replace(/(\d*.*?)\d.*/, "$1") //10月
"1天5小時6分鐘12秒".replace(/(\d*.*?)\d.*/, "$1") //1天
2017年12月20日 06:44