关于javascript正则表达式截取字符串的问题

一字符串:“@bji|北京|BJP|0@sha|上海|SHH|1@tji|天津|TJP|2”,我要的结果是:{@bji|北京|BJP|0,sha|上海|SHH|1,@tji|天津|TJP|2},javascript怎么用正则表达式分隔成这三部分。小弟对正则表达式实在太瞎

var reg="@bji|北京|BJP|0@sha|上海|SHH|1@tji|天津|TJP|2"

alert(reg.match(/\@[a-z]+|\W+|[A-Z]+|\d/g));

result:["@bji|北京|BJP|0", "@sha|上海|SHH|1", "@tji|天津|TJP|2"]

var reg=/@[^@]+/gi;

var result=reg.Split(str):

var reg=/@[^@]+/gi;

alert(reg.match(str));