我一直工作在一个正则表达式不工作,那会从的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