Pourquoi cette expression régulière ne fonctionne-t-elle pas en JavaScript ? /(?i)-ChaîneA$|-ChaîneB$/
P粉314915922
P粉314915922 2023-09-10 10:32:13
0
1
633

Construit cette expression régulière dans le générateur et tout fonctionne comme prévu, j'ai essayé de nettoyer certaines chaînes dans mon application et l'application a indiqué qu'elle n'était pas valide.

La déclaration est la suivante :

const reg = /(?i)-TeamMember$|-TeamLead$/;
testString = testString.replace(reg, "");

Essayer d'exécuter l'application donne l'erreur suivante :

模块解析失败:无效的正则表达式:/(?i)-StringA$|-StringB$/: 无效的分组(199:21)
文件已使用以下加载器进行处理:
 * ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js
 * ./node_modules/@ngtools/webpack/src/ivy/index.js
您可能需要额外的加载器来处理这些加载器的结果。

J'ai essayé cela dans le générateur et tout fonctionne comme prévu, le but est de supprimer le suffixe de la chaîne s'il correspond à l'une des chaînes fournies et d'ignorer la casse.

P粉314915922
P粉314915922

répondre à tous(1)
P粉562845941

JavaScript n'a pas d'indicateur en ligne intégré insensible à la casse. Au lieu de cela, vous devez utiliser des indicateurs insensibles à la casse /i

const reg = /-TeamMember$|-TeamLead$/i;
testString = testString.replace(reg, "");

Vous pouvez en savoir plus ici : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal