2014-11-21 46 views
0

目前我有5米時間範圍我需要創建的Javascript正則表達式爲HH:MM串

1正則表達式)< 18:00

2)> = 18:00 20:00 <

3)> = 20:00 24:00 <

4)> = 24:00 < 30:00

5)> 30:00

我的字符串數據是字符串格式「HH:mm」 因此,上午7點會07:00下午4:30將是16:30

我創建了正則表達式,但似乎無法找出原因,他們沒有工作

*PRINT 'var regExCat1 = "^(0[0-9]|1[0-7]+):([0-5]?[0-9]+)$";' 
*PRINT 'var regExCat2 = "^(|1[8-9]+):([0-5]?[0-9]+)$";' 
*PRINT 'var regExCat3 = "^(2[0-3]+):([0-5]?[0-9]+)$";' 
*PRINT 'var regExCat4 = "^(2[4-9]+):([0-5]?[0-9]+)$";' 
*PRINT 'var regExCat5 = "^([3-9]?[0-9]+):([0-5]?[0-9]+)$";' 

任何想法?

+0

在regex101.com測試它們並進行調試?你是否也知道'+'意味着一次或多次匹配前一個標記? – HamZa 2014-11-21 20:18:08

+0

對不起,我正在比較我的RegEx在一個錯誤的列...... doh ...它工作(有點,我只需要修復幾個表達式) – foop 2014-11-21 20:18:24

回答

0
VAR

regExCat1 =「^(0 [0-9]:[0-5] [0-9] | 1 [0-7]:[0-5]? [0-9])$「;」

var regExCat2 =「^(1 [8-9]:[0-5]?[0-9])$」;'

var regExCat3 =「^(2 [0-3]:[0-5]?[0-9])$」;'

var regExCat4 =「^(2 [4-9]:[0-5]?[0-9])$」;'

var regExCat5 =「^([3-9]?[0-9]:[0-5]?[0-9])$」;'

+0

萬一有人遇到這個問題 – foop 2014-11-26 21:51:26

0

你有量詞,你不需要它們。請參見下面的變化:

*PRINT 'var regExCat1 = "^(0[0-9]|1[0-7]):([0-5][0-9])$";' 
*PRINT 'var regExCat2 = "^(1[8-9]):([0-5][0-9])$";' 
*PRINT 'var regExCat3 = "^(2[0-3]):([0-5][0-9])$";' 
*PRINT 'var regExCat4 = "^(2[4-9]):([0-5][0-9])$";' 
*PRINT 'var regExCat5 = "^([3-9][0-9]):([0-5][0-9])$";'