用正则表达式从句子中获取数据?

时间:2014-11-26 15:15:04

标签: javascript regex

这是我想要实现的演示版本:

我有很多strings与这些相似:

  • 通常我会以1.5-3美元购买苹果。
  • 这个月橘子的价格是2美元-3美元。

我想使用循环和正则表达式从这些句子中获取数据。数据,如产品名称(applesoranges,其他)和价格(1.5-3; 2-3)。

对于每个循环,我会推送到productprice等数组。

这样做的正确方法是什么?

注意:只能有苹果橙子,程序知道
注意:预期输出是两个包含产品和数字的数组。

感谢您的建议!

1 个答案:

答案 0 :(得分:1)

我想你需要这样的东西:

var str = "Usually I buy apples for a 1.5-3 dollars.", array = [];
array.push(str.match(/apple|orange/)[0] + 's'); // fruit
array.push(str.match(/[\d\.]+\D+\d+/)[0].replace(/[^\.\d]+/g,"-")); // price
console.log(array); // result