Regex 构建正则表达式字符串-提供的任何帮助
我对REGEX非常陌生,我理解它的用途,但我还很难完全理解如何使用它。我正在尝试构建一个正则表达式字符串,以从以下内容中拉出A8OP2B(或第5组中转储的任何内容) {“RfReceived”:{“Sync”:9480,“Low”:310,“High”:950,“Data”:“A8OP2B”,“RfKey”:“None”} 上一行中的其他项目的字符长度将发生变化,因此我不能说是第51到56个字符。这将永远是第五组引号,虽然我想退出 我试着建立各种正则表达式字符串,但对我来说,它仍然是一门外语,我还有很多阅读要做 有谁能给我提供一个以上的工作示例,这样我就可以进行逆向工程并更好地理解Regex 构建正则表达式字符串-提供的任何帮助,regex,Regex,我对REGEX非常陌生,我理解它的用途,但我还很难完全理解如何使用它。我正在尝试构建一个正则表达式字符串,以从以下内容中拉出A8OP2B(或第5组中转储的任何内容) {“RfReceived”:{“Sync”:9480,“Low”:310,“High”:950,“Data”:“A8OP2B”,“RfKey”:“None”} 上一行中的其他项目的字符长度将发生变化,因此我不能说是第51到56个字符。这将永远是第五组引号,虽然我想退出 我试着建立各种正则表达式字符串,但对我来说,它仍然是一门外语,我
谢谢演示1:将JSON引用到var,然后使用点或括号表示法 演示2:不建议使用正则表达式,但这里有一个JavaScript:
/\b(\w{6})(?=","RfKey":)/g
首场比赛
\b
:非单词=:,任何字符=“,以及单词=A(
,任意单词=\w
,6次={6}
结束捕获:)
(?=
用于:,“RfKey:)
演示1
var obj={“RfReceived”:{“Sync”:9480,“Low”:310,“High”:950,“Data”:“A8OP2B”,“RfKey”:“None”};
var dataDot=obj.RfReceived.Data;
var-dataBracket=obj['RfReceived']['Data'];
console.log(数据点);
log(dataBracket)
这只是JSON。为什么您需要使用regex从JSON检索信息,而不是像原来那样使用JSON?regex
不是解析复杂格式的最合适工具。更重要的是,你发布的数据是。现在大多数编程语言要么直接支持JSON,要么有一个或多个函数库来正确处理JSON。在第三方软件中,我只看到上面的一行,界面允许我使用REGEX。我最终会出现大约40种不同类型的行,每种行都有自己的6个字符串,因此我需要过滤掉其余的位,这样第三方软件可以将6位代码转换为第三方软件中的操作/命令。如果有道理的话?进一步解释。。。。。如果愿意的话,我可以得到一个控制台输出,它不能运行任何类型的脚本语言。我所能告诉它做的就是,对于控制台中出现的每一行,通过REGEX去掉某些文本(REGEX是控制台允许我做的所有事情),并将其呈现给主程序。它是发送此MQTT行的硬件设备,因此我无法更改它发送的内容。MQTT代理只是将其中继到程序控制台上,控制台可以接受任何文本输入,但无法将文本行转换为我想要的区域,或者主程序会接受的区域,但我的软件不允许我这样做。如果愿意的话,我实际上得到了一个控制台输出,它不能运行那种脚本语言。我能告诉它做的就是,对于控制台中出现的每一行,通过REGEX去掉某些文本,并将其呈现给主程序。它是发送此MQTT行的硬件设备,因此我无法更改它发送的内容。MQTT代理只是将其中继到程序控制台上,控制台可以接受任何文本输入,但无法将文本行转换为我想要的区域或主程序将接受的区域。我设法找到了一个适合我的解决方案。不过,我会将您标记为JSON风格的解决方案的正确版本(尽管我确实通过其局限性从控制台中获得了所需内容)。@WS1234请参见演示2tankyou!!太好了:)