在生成器中构建这个正则表达式,一切正常,在我的应用程序中尝试清理一些字符串,应用程序说它无效。
声明如下:
const reg = /(?i)-TeamMember$|-TeamLead$/;
testString = testString.replace(reg, "");
尝试运行应用程序会产生如下结果:
Module parse failed: Invalid regular expression: /(?i)-StringA$|-StringB$/: Invalid group (199:21)
File was processed with these loaders:
* ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js
* ./node_modules/@ngtools/webpack/src/ivy/index.js
You may need an additional loader to handle the result of these loaders.
在生成器中尝试了这个,一切都如预期的那样工作,目标是从字符串中删除一个后缀,如果它匹配所提供的字符串中的任何一个并且忽略大小写。
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