首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nodejs : RegExp不返回任何内容

Nodejs : RegExp不返回任何内容
EN

Stack Overflow用户
提问于 2019-04-05 06:17:00
回答 1查看 72关注 0票数 2

我正在尝试从Emotiv输出中提取电极的名称和它们的值。但是,下面的代码不返回任何内容。

我是nodejs的新手。我试着用正则表达式在一行代码中完成它,但是它太复杂了,我不能正确地完成它。我成功地抓住了整行代码,但没有抓住值。

下面是我的代码:

代码语言:javascript
运行
复制
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,依此类推。

EN

回答 1

Stack Overflow用户

发布于 2019-04-08 05:14:55

我知道这不能完全回答RegExp的问题,但这种重写应该可以让您更快地工作。

代码语言:javascript
运行
复制
const text = '"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},"';

let json = "{" + text.substring(0, text.length - 2) + "}"
let obj = JSON.parse(json)

for (const [key, value] of Object.entries(obj.levels)) {
  console.log(`${key} ${value}`); 
}

我还想出了一个新的RegExp,我认为它会给你想要的东西。

代码语言:javascript
运行
复制
const text = '"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},"';

let regexp = /\"([^\"]{2,3})\"\:(\d{3,5})/g
let r = null
do {
    r = regexp.exec(text)
    if (r) console.log(`${r[1]} ${r[2]}`); 
} while (r)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55525711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档