搜尋
問答 為什麼在JavaScript中這個正規表示式無法生效? /(?i)-StringA$|-StringB$/

0

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

宣告如下:

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
您可能需要额外的加载器来处理这些加载器的结果。

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

Your Answer
提交

1 個答案
0

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

2023-09-11 09:02:52

提交

Hot Tools

vc9-vc14(32+64位元)運行庫合集(連結在下方)

vc9-vc14(32+64位元)運行庫合集(連結在下方)

phpStudy安裝所需運行函式庫集合下載

VC9 32位

VC9 32位

VC9 32位元 phpstudy整合安裝環境運行庫

php程式設計師工具箱完整版

php程式設計師工具箱完整版

程式設計師工具箱 v1.0 php整合環境

VC11 32位

VC11 32位

VC11 32位元 phpstudy整合安裝環境運行庫

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用