亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

時間輸入的正則表達式

時間輸入的正則表達式

繁星點點滴滴 2023-04-14 17:09:22
我可以從輸入中收到以下類型的值:1w 1d 1h 1m或者1n 1d 1h 1m其中周 (w) 和天 (d) 選項是可選的,其余的是強制性的。我想出了以下正則表達式:/^(([0-9][w,n])\s([0-9][d,d]))\s?([0-24][h,h])\s([0 -60][m,m])$/但它不起作用。我想我搞砸了可選部分,我也不太確定捕獲組,所以這里的任何幫助將不勝感激。
查看完整描述

3 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

這有效:(?:\d[wн]\s)?(?:\d[dд]\s)?(:?\d{1,2}[hч])\s(:?\d{1,2}[mм])


查看完整回答
反對 回復 2023-04-14
?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

您錯誤地使用了正則表達式類運算符[..]。我看到你打算設置允許的范圍,但這不是它的工作原理。您只能在此處設置允許的字符集。所以[0-9]簡單地說,所有字符 0、1、2、3、4、5、6、7、8、9 都是允許的。其中有多少在后面指定,例如[0-9]+表示一個或多個。在你的情況下,我會說“一兩個”是你想要的幾分鐘和幾小時[0-9]{1,2}。

以下正則表達式按預期工作:

^(([0-9]+)[wн]\s([0-9]+)[dд]\s)?(([0-9]{1,2})[hч]\s)(([0-9]{1,2})[mм])$

請注意,之后您必須以編程方式進行值驗證(因此小時和分鐘在正確的范圍內)。


查看完整回答
反對 回復 2023-04-14
?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

嘗試:

/^(?:\d+[wн]\s+\d+[dд]\s+)?\d+[чh]\s+\d+[мm]$/


查看完整回答
反對 回復 2023-04-14
  • 3 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號