cari

Rumah  >  Soal Jawab  >  teks badan

Mengapa ungkapan biasa ini tidak berfungsi dalam JavaScript? /(?i)-StringA$|-StringB$/

Membina regex ini dalam penjana dan semuanya berfungsi seperti yang diharapkan, cuba membersihkan beberapa rentetan dalam apl saya dan apl itu berkata ia tidak sah.

Kenyataannya adalah seperti berikut:

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

Cuba menjalankan apl memberikan ralat berikut:

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

Mencuba ini dalam penjana dan semuanya berfungsi seperti yang diharapkan, matlamatnya adalah untuk mengeluarkan akhiran daripada rentetan jika ia sepadan dengan mana-mana rentetan yang disediakan dan abaikan kes.

P粉314915922P粉314915922491 hari yang lalu678

membalas semua(1)saya akan balas

  • P粉562845941

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

    JavaScript tidak mempunyai bendera sebaris tidak sensitif huruf besar terbina dalam. Sebaliknya, anda harus menggunakan bendera tidak peka huruf besar-besaran /i

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

    Anda boleh membaca lebih lanjut di sini: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase

    balas
    0
  • Batalbalas