如何在Javascript中对字符串进行标记?

时间:2013-02-13 12:17:52

标签: javascript arrays string

我有一个字符串:

'"Apples" AND "Bananas" OR "Gala Melon"'

我想将其转换为数组

arr = ['"Apples"', 'AND', '"Bananas"', 'OR', '"Gala Melon"']

我不知道我是否可以用正则表达式来做。我开始认为我可能需要一次解析每个字符以匹配双引号。

1 个答案:

答案 0 :(得分:5)

input = '"Apples" AND "Bananas" OR "Gala Melon"'

output = input.match(/\w+|"[^"]+"/g)
// output = ['"Apples"', 'AND', '"Bananas"', 'OR', '"Gala Melon"']

正则表达式的解释:

/ - 正则表达式的开始
  \w+ - 单词字符序列
  | - 或
  "[^"]+" - 引用的任何内容(假设没有转义引号)
  /g - 正则表达式结束,全局标志(执行多个匹配)