如何使用正则表达式匹配特定字符后的整个单词或句子

How to match a whole word or sentence after a specific character with regexp

我有一个包含其他对象的对象,其中一些对象有一个键,该键是以这样的列开头的字符串:':Campaign':{data} 我需要遍历该对象并将所有以列 (:) 开头的键保存到字符串中。为此,我需要一个匹配第一个字符的正则表达式 : 并在 :

之后取整个词

到目前为止,我写了这篇文章,但只找到 returns 列:

const keys = Object.keys(output)
const regex = /^:*/gi;

keys.forEach(key =>  {
  const found = key.match(regex);
  console.log('found: ', found);
})

日志是:

found:  [ ':' ]
found:  [ ':' ]

这里有 2 个选项,具体取决于您是否要在捕获的模式中包含冒号。

  • 用冒号 ^:\w*
  • 回顾冒号 (?<=^:)\w*
    这将匹配冒号后的单词。
    您可能需要任意数量的任意字符 .* 或单词字符和空格的任意组合 `[\w\s]*

试试这个!

[':].*[']

它应该用单引号给你整个密钥。