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

Javascript 用正则表达式从句子中获取数据?,javascript,regex,Javascript,Regex,这是我尝试实现的演示版本: 我有很多类似于以下内容的字符串: 我通常花1.5-3美元买苹果 这个月橙子的价格从2美元到3美元不等 我想使用循环和正则表达式从这些句子中获取数据。产品名称(apples,oranges,其他)和价格(1.5-3;2-3)等数据 对于每个循环,我都会将其推送到数组中,如产品和价格 正确的方法是什么? 注意:只能有苹果和橙子,程序知道这一点 注意:预期输出是两个带有产品和编号的数组 谢谢你的建议 我想你需要这样的东西: var str = "Usually I bu

这是我尝试实现的演示版本:

我有很多类似于以下内容的
字符串

  • 我通常花1.5-3美元买苹果
  • 这个月橙子的价格从2美元到3美元不等
我想使用循环和正则表达式从这些句子中获取数据。产品名称(
apples
oranges
,其他)和价格(
1.5-3
2-3
)等数据

对于每个循环,我都会将其推送到数组中,如
产品
价格

正确的方法是什么?

注意:只能有苹果橙子,程序知道这一点
注意:预期输出是两个带有产品和编号的数组


谢谢你的建议

我想你需要这样的东西:

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

它们与那些相似,或者它们总是以那种特定的格式?字符串是从哪里来的?所有的字符串都是那种特定的格式。我只是不想写很多
if
语句并检查单词是否在句子中,所以我要求另一种方法。那么您检查的字符串是从哪里来的?它们是否已在代码中的数组中?它们是由用户输入的吗?从文件中读取?听起来你知道你想做什么-使用循环和正则表达式-那么具体是什么阻止了你这么做?@Anthony Grist:阻止我的事情是我需要苹果去db卖苹果和桔子去db卖桔子。如果可能的话,我会尽量避免使用多个if语句。是的,但是有没有一种方法可以将apple添加到一个数组中,并将oranges添加到另一个数组中,而不使用很多if语句(很多,如果你有20个水果,而不是2个)?