我正在使用/Date(1)/
和/Date(-99999)/
等字符串获取字符串。数字是可变长度。
正则表达式不是这样的:^/Date\(d+\)/$
答案 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];