这是我的数据
var result = Val1 = 08182014& sydney-holistic-dental-center-14750975& 2000& Dentist& VAL2 = 08182014&安培;九龙 - 餐厅 - 12494711&安培; 2000&安培;餐厅和放大器; VAL3 = 08182014&安培; MR-开关 - 电 - 14251034&安培; 2000&安培;电工&安培; VAL4 = 08182014&安培;激光瞄准-13604978&安培; 2000&安培;医生和安培; Val5 = 08182014&安培;润滑油移动最移动力学-14755685&安培; 2000&安培;力学&安培; VAL6 = 08182014&安培; MR-H2O水暖服务-14223825&安培; 2000&安培;管道工和放大器; Val7 = 08182014&安培;菲利普-泽维尔-理发师-14887853&安培; 2000&安培;理发师&安培; 的Val8 = 08182014&安培;杰拉德-马洛夫-伙伴-12372365&安培; 2000&安培;律师&安培; Val9 = 08182014&安培;美容宽限期-13817412&安培; 2000&安培; Beauty_Salons&安培; Val10 = 08182014&安培;快速施工-PTY-LTD-15093518&安培; 2000&安培;助洗剂
我想解析我的数据和格式为<date>&<business>&<post_code>&<category>
。我想跳过val1,val2等,只是为了获得08182014&amp; sydney-holistic-dental-center-14750975&amp; 2000&amp; Dentist <date>&<business>&<post_code>&<category>
。我该怎么做才能跳过Val1 =,val2-,val3 =等并放入数组中。之后我可以遍历我的数组并将其拆分为(&amp;)。
我想做一个像(08182014&amp; sydney-holistic-dental-center-14750975&amp; 2000&amp; Dentist,08182014&amp; nine-dragons-restaurant-12494711&amp; 2000&amp; Restaurant等)的数组
答案 0 :(得分:0)
使用此:
var the_matches = [];
var myregex = /^Val\d+=(.*)/mg;
var thematch = myregex.exec(yourString);
while (thematch != null) {
the_matches.push(thematch[1]);
thematch = myregex.exec(yourString);
}
您的匹配数组为the_matches
。
<强>解释强>
m
标志会启用多行模式,允许^
在每行上匹配^
锚点断言我们位于字符串的开头Val
匹配Val
(但不会在数组中)\d+
匹配数字=
匹配=
(.*)
捕获=
到第1组答案 1 :(得分:0)
您可以.split(/&Val\d+=/)
将字符串拆分为数组。使用&
您只需使用.replace(regexp)
,然后
var arr = str.split(/&Val\d+=/); //split
for(var i=0; i< arr.length -1; i++){
arr[i] = arr[i].replace(/Val\d+=/g, ''); //replace Val1, Val2 string
}