Angular 获取字符串中与正则表达式匹配的值

我定义了以下正则表达式:


const regEx = new RegExp('[A][A-Z]{2}[0-2]{5}\b', 'g')

我已经在在线正则表达式测试器中对其进行了测试,它们似乎都有效。我想在字符串中搜索所有看起来像这样的单词:ADB12210。它们必须以 A 开头,后跟 2 个大写字母,以 0-2 的 5 个数字结尾,并且是全局搜索,因为这可能在字符串中出现多次。这似乎有效,但是当我通过以角度创建管道来尝试它时,它没有找到任何匹配项。匹配返回 null 但我期待一个像这样的数组:['ADB12210', 'ACG12212']。我的管道如下:


transform(value: string): any {

  const regExp = new RegExp('[A][A-Z]{2}[0-2]{5}\b', 'g')

  console.log(value.match(regExp)

}

即使我对检查进行硬编码,它仍然返回 null:


const string = 'ACG12212'

console.log(string.match(regExp)


30秒到达战场
浏览 158回答 2
2回答

慕运维8079593

您需要使用\\b,since 以便单个反斜杠将进入字符串。

翻翻过去那场雪

我删除了你的最后一个边界,因为我认为你的单词之间可能有也可能没有空格,这可能会导致它为空,请尝试下面的操作。value = 'asdasADB12210asd'const regExp = new RegExp('[A][A-Z]{2}[0-2]{5}', 'g')console.log(value.match(regExp))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript