用于提取双引号和非引号字符串的正则表达式模式 Javascript

Regex pattern for extraction of double-quoted and non-quoted strings Javascript

我拼命地尝试从以下字符串中提取双引号和非引号的单词(请注意周围的单引号):

'"Cloud Technology" Foundation "Board"'

需要的组是:

  1. “云技术”
  2. 基金会
  3. “董事会”

我想到了这个模式(?:\"(.*?)\")|(?:\s(\S*?)\s)看看regex101.com

但是如果字符串是 '"Cloud Technology" Foundation'

,则该模式不起作用

将要添加到第二组字符 ' 作为额外可能的结束(或初学者)的内容:

(?:\"(.*?)\")|(?:[\s\'](\S*?)[\s\'])

您可以使用

console.log(`'"Cloud Technology" Foundation "Board"'`.match(/"[^"]+"|[^\s']+/g))

regex demo详情:

  • "[^"]+" - ",除 " 之外的零个或多个字符,然后是 " 字符
  • | - 或
  • [^\s']+ - 除了空格和 ' 个字符之外的一个或多个字符。