构建正则表达式字符串 - 提供的任何帮助

时间:2018-01-27 14:24:17

标签: regex

我对REGEX很新,我理解它的目的,但我很难完全理解如何使用它。我正在尝试构建一个REGEX字符串,以便从以下内容中拉出 A8OP2B (或者在第5组中转储任何内容)。

{" RfReceived" {"同步":9480,"低":310,"高":950, "数据":" A8OP2B"" RfKey":"无"}}

上面一行中的其他项目,会改变字符长度,所以我不能说第51个字符到第56个字符。虽然我想退出,但它始终是引号中的第5组。

我试过建立各种正则表达式字符串,但它对我来说仍然主要是外语,我仍然有很多阅读要做。

有人能为我提供上述的工作示例,所以我可以更好地进行逆向工程和理解吗?

由于

1 个答案:

答案 0 :(得分:1)

演示1:将JSON引用到var,然后使用点或括号表示法。

演示2:建议不要使用RegEx,但这是JavaScript中的一个:

/\b(\w{6})(?=","RfKey":)/g

第一场比赛

  1. 非消费匹配: :" A

    元边框: \b :非字= ,任何字符= " ,以及一个字= A

  2. 消费匹配: A8OP2B

    开始捕获: ( ,任何字= \w ,6次= {{ 1}} 结束捕获: {6}

  3. 非消费匹配: "," RfKey":

    展望未来: ) for: "," RfKey" : (?=

  4. <小时/>

    演示1

    &#13;
    &#13;
    )
    &#13;
    &#13;
    &#13;

    演示2

    注意:这消耗了3个连续模式的字符串。预计会有3场比赛。

    &#13;
    &#13;
    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(dataDot);
    
    console.log(dataBracket)
    &#13;
    &#13;
    &#13;