【发布时间】:2019-08-26 18:52:14
【问题描述】:
我正在尝试从 Emotiv 输出中提取电极的名称及其值。但是下面的代码什么也不返回。
我是 nodejs 的新手。我尝试使用正则表达式在单行上执行此操作,但它太复杂了,我无法正确处理。我已经成功地抓住了整条线,但没有抓住价值。
这是我的代码:
var str = '"levels":{"F3":7094,"FC6":8209,"P7":12165,"T8":5380,"F7":1356,"F8":2043,"T7":11882,"P8":10117,"AF4":13257,"F4":6134,"AF3":13527,"O2":9686,"O1":871,"FC5":1808},"' ;
const reg = new RegExp('.{2}\w\"\:\d{3,5}/g');
var test = str.match(reg) ;
if (test)
console.log(test[1]) ;
我希望 14 个电极的输出为 F3 : 8209 等等。
【问题讨论】:
-
问题与
machine-learning无关 - 请不要向标签发送垃圾邮件(已删除)。 -
你能解释一下逻辑,不是吗:
FC6 : 8209?这看起来几乎像 JSON,所以您可能想要使用JSON.parse而不是正则表达式。 -
他甚至不需要 JSON.parse()。只需用花括号替换单引号,您就得到了一个对象。
var data = {"levels":{"F3":7094,"FC6":8209,"P7":12165,"T8":5380,"F7":1356,"F8":2043,"T7":11882,"P8":10117,"AF4":13257,"F4":6134,"AF3":13527,"O2":9686,"O1":871,"FC5":1808}"} -
这是我的错,我复制了错误的值,我的意思是 F3:7094。我刚开始使用 nodejs,所以我有点困惑。 1真正的工作是从我的 Emotiv 输出中提取值并将它们存储在数据库中。我被困在从输出中抓取它们。
标签: javascript node.js regex parsing