Mengapa ungkapan biasa ini tidak berfungsi dalam JavaScript? /(?i)-StringA$|-StringB$/
P粉314915922
P粉314915922 2023-09-10 10:32:13
0
1
659

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粉314915922
P粉314915922

membalas semua(1)
P粉562845941

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan