Je veux appliquer l'expression Reg sur la chaîne. Afin d'obtenir tous les résultats des groupes, j'utilise la méthode matchAll. Voici mon code
const regexp = RegExp('foo*','g');
const str = "table football, foosball";
let matches = str.matchAll(regexp);
for (const match of matches) {
console.log(match);
}
lors de la compilation du code ci-dessus, j'ai une erreur
La propriété 'matchAll' n'existe pas sur le type '"babyfoot, baby-foot"' '
lors de la recherche de cette erreur, j'ai trouvé un problème similaire sur stackoverflow
TS2339: La propriété 'includes' n'existe pas sur le type 'string'
J'ai changé la configuration de tsconfig comme mentionné dans le lien ci-dessus mais mon problème n'a pas été résolu
Voici mon code tsconfig;
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"importHelpers": true,
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es2016",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
String.prototype.matchAll () fait partie de la spécification ECMAScript 2020 (draft). Dans TypeScript, vous pouvez inclure ces fonctionnalités de bibliothèque en ajoutant es2020
ou es2020.string
, dans les options du compilateur:
"compilerOptions": {
"lib": ["es2020.string"]
}