首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript -从复杂警报中提取子字符串

Javascript -从复杂警报中提取子字符串
EN

Stack Overflow用户
提问于 2018-08-03 04:41:18
回答 1查看 50关注 0票数 0

我目前正在尝试使用javascript从自动警报中提取特定的数据。根据设备的不同,数据可以以3种可能的方式显示...

代码语言:javascript
复制
cWNotificationDescription = AP 'CC-PR555555' disassociated from Controller '111.11.111.11'.

OR.....

AP 'CC-PR555555' is being contained. This is due to rogue device spoofing or targeting AP 'CC-PR555555' BSSID on '802.11b/g' radio 

OR.....

'802.11a/n' interface of AP 'CC-PR555555' associated to controller 'CC-AA-5555 (111.11.111.11)' is down.

在任何情况下,我都希望退出"CC-PR555555"。它也可能显示为"PR55:55:55:55:55:55""devicename2",所以诀窍是提取该位置的任何数据,因为它可以有不同的长度。

它始终以AP开头,所需的数据位于单引号‘’中,但在所有报警中,单引号中包含多个数据点,并且在其中一个报警中,所需的数据行被列出两次。

任何关于如何解压这篇文章的建议都会很棒。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-03 04:50:59

您可以使用RegEx查找您正在查找的值,这个简单的正则表达式将查找AP ',并在下一个'之前获取所有内容

代码语言:javascript
复制
let sampleInput = ["cWNotificationDescription = AP 'CC-PR555555' disassociated from Controller '111.11.111.11", "AP 'CC-PR555555' is being contained. This is due to rogue device spoofing or targeting AP 'CC-PR555555' BSSID on '802.11b/g' radio", "'802.11a/n' interface of AP 'CC-PR555555' associated to controller 'CC-AA-5555 (111.11.111.11)' is down."]

var r = /(?<=AP\s')CC-[^']*(?=')/;
for(let i = 0; i < sampleInput.length; i++){
  console.log("Found", r.exec(sampleInput[i])[0], "in", '"', sampleInput[i], '"');
}

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

https://stackoverflow.com/questions/51661857

复制
相关文章

相似问题

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