為什麼在JavaScript中這個正規表示式無法生效? /(?i)-StringA$|-StringB$/
P粉314915922
P粉314915922 2023-09-10 10:32:13
0
1
662

在生成器中建立了這個正規表示式,一切都按預期工作,在我的應用程式中嘗試清理一些字串,應用程式說它無效。

宣告如下:

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

嘗試執行應用程式會出現以下錯誤:

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

在生成器中嘗試了這個,一切都按預期工作,目標是從字串中刪除後綴,如果它與提供的任一字串匹配並忽略大小寫。

P粉314915922
P粉314915922

全部回覆(1)
P粉562845941

JavaScript沒有內建的不區分大小寫的行內標誌。相反,您應該使用不區分大小寫的標誌/i

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

您可以在這裡閱讀更多:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板