recherche

Maison  >  Questions et réponses  >  le corps du texte

Pourquoi cette expression régulière ne fonctionne-t-elle pas en JavaScript ? /(?i)-ChaîneA$|-ChaîneB$/

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粉314915922P粉314915922442 Il y a quelques jours635

répondre à tous(1)je répondrai

  • P粉562845941

    P粉5628459412023-09-11 09:02:52

    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

    répondre
    0
  • Annulerrépondre