Regexp帮助

时间:2017-04-06 10:12:59

标签: javascript regex preg-match

我对regexp不太熟悉并且一直在努力将我的所有用例与我所做的任何尝试相匹配,我想知道是否有人可以提出可能涵盖以下情况的匹配。我需要从字符串中提取音量,即250ml。

  • 香草花250ml沐浴露
  • 香草花250毫升沐浴露
  • 香草花沐浴露250ml
  • 250ml Vanilla Blossom沐浴露
  • 香草花20克香皂
  • 香草花20克香皂

由于

2 个答案:

答案 0 :(得分:1)

这是一种完成工作的方法:

var test = [
    'Vanilla Blossom 250ml body wash',
    'Vanilla Blossom 250 ml body wash',
    'Vanilla Blossom body wash 250ml',
    '250ml Vanilla Blossom body wash',
    'Vanilla Blossom 20g soap',
    'Vanilla Blossom 20 g soap',
];
console.log(test.map(function (a) {
  return a.match(/\d+\s*ml/)
  }));

答案 1 :(得分:1)



let arr = ['Vanilla Blossom 250ml body wash',
  'Vanilla Blossom 250 ml body wash',
  'Vanilla Blossom body wash 250ml',
  '250ml Vanilla Blossom body wash',
  'Vanilla Blossom 20g soap',
  'Vanilla Blossom 20 g soap',
  'Vanilla Blossom 20 dag soap',
  'Vanilla Blossom 20dag soap'
];

let reg = /(?:\d+[ ]{0,1})(?:ml|g)/i;

console.log(arr.map(str => str.match(reg)));