JavaScript正则表达式帮助

时间:2010-02-03 20:50:26

标签: javascript regex

我正在使用/Date(1)//Date(-99999)/等字符串获取字符串。数字是可变长度。

正则表达式不是这样的:^/Date\(d+\)/$

3 个答案:

答案 0 :(得分:3)

不,你的正则表达式缺少数字前面的可选减号(\d)。您还需要转义/,因为它们也是正则表达式的分隔符。试试这个正则表达式:

^/Date\(-?\d+\)/$

在RegExp构造函数中:

new RegExp("^/Date\\(-?\\d+\\)/$")

或字面意思:

/^\/Date\(-?\d+\)\/$

答案 1 :(得分:0)

不完全。你不允许使用领导连字符的可能性,你的斜线有点不稳定。

/^Date\(-?\d+\)$/

答案 2 :(得分:0)

似乎您正在获取ASP .NET序列化的JSON日期值,字符串中包含斜杠,以捕获您可以简单地匹配可选减号和任何数字字符序列的时间戳:

var date = "\/Date(1240718400000)\/";
var timeStamp = date.match(/-?\d+/)[0]; // 1240718400000;

或者更具限制性的一个:

var timeStamp = date.match(/\/Date\((-?\d+)\)\//)[1];