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