我一直工作在一個正則表達式不工作,那會從的Javascript正則表達式如預期
3d 4m 5y
格式解析日期到一個數組,這樣我就可以做一些操作它。
我寫了一個正則表達式是這樣的:
((\d+)([d,m,y]))
什麼這個返回的是
["3d", "3d", "3", "d"]
我相信它應該爲字符串
被返回["3d", "3d", "3", "d","4m","4","m"]
3d4m
它在我的代碼中實現這樣的:
c=console;
myregexp=/((\d+)([d,m,y]))/g;
//myregexp = new RegExp(regexstring);
c.log(myregexp.exec($("#dateInterval").val()));
現在我只記錄數據,但我認爲,什麼是錯在這裏。
'exec'可能不會爲你遞歸組合它們。你確定你不是瞄準'console.log('3d 4m 5y'.match(myregexp));'? – 2011-04-19 20:39:35
這與你的問題沒有多大關係,但你應該從你的角色類中移除逗號:'[dmy]'是你想要的。否則,逗號也會匹配。 – 2011-04-19 20:41:30