我在javascript中有以下字符串,
Id:121,RefId:123,Date:Sep 22, 2012 12:00:00 AM
当我尝试使用 , 作为分隔符将其拆分为 3 个键值对时,它给了我错误的输出,因为在日期中还有另一个 ,(逗号)。
所以我想我必须使用正则表达式。
我想显示如下;
Id:121
RefId:123
Date:Sep 22, 2012 12:00:00 AM
谁能建议如何使用正则表达式克服日期中的额外逗号?
提前致谢...
我在javascript中有以下字符串,
Id:121,RefId:123,Date:Sep 22, 2012 12:00:00 AM
当我尝试使用 , 作为分隔符将其拆分为 3 个键值对时,它给了我错误的输出,因为在日期中还有另一个 ,(逗号)。
所以我想我必须使用正则表达式。
我想显示如下;
Id:121
RefId:123
Date:Sep 22, 2012 12:00:00 AM
谁能建议如何使用正则表达式克服日期中的额外逗号?
提前致谢...
,您的意思是在后面的不是空格上拆分?
'Id:121,RefId:123,Date:Sep 22, 2012 12:00:00 AM '.split(/,(?=\S)/);
// will give you ["Id:121", "RefId:123", "Date:Sep 22, 2012 12:00:00 AM "]
如果你真的想要一个正则表达式(而不是有限的拆分),你可以这样做:
var text = "Id:121,RefId:123,Date:Sep 22, 2012 12:00:00 AM";
text.match(/^(.+?),(.+?),(.+)$/);
如果你想使用正则表达式,你可以试试这个:
re = /^Id:(\d+),RefId:(\d+),Date:(.+)/
matches = re.exec("Id:121,RefId:123,Date:Sep 22, 2012 12:00:00 AM")
matches[1] // "121"
matches[2] // "123"
matches[3] // "Sep 22, 2012 12:00:00 AM"