我想使用正则表达式来过滤带有通配符的字符串列表。
我不明白为什么正则表达式不能正常工作。 这是我的代码:
transform(options: Array<IMultiSelectOption>, args: string): Array<IMultiSelectOption> {
let lstfiltre: Array<IMultiSelectOption>;
lstfiltre = [];
const reg = args.replace(/\*/g, '.*');
const b = new RegExp(reg, 'giu');
for (const rowValue of options) {
if (b.test(rowValue.label)) {
lstfiltre.push(rowValue);
}
}
return lstfiltre;
}
例如:我有一个值列表:
- Acquittement
- Angel
- Angel:
- Changement de pilotage effectué
- Changement de pilotage non effectué
所以我想用'an *'过滤 结果是:
- Angel
- Changement de pilotage effectué
因此,缺少两个值:
- Angel:
- Changement de pilotage non effectué
能帮我吗?