美文网首页
短信转发匹配规则加强版 !开大!词法分析!

短信转发匹配规则加强版 !开大!词法分析!

作者: 小渊111 | 来源:发表于2021-02-28 21:12 被阅读0次

    短信转发工具TranspondSms中,实现了,单个匹配规则,像这样:

    rule

    那么稍微复杂点的匹配规则怎么实现?对用户友好?高度自定义?

    比如这样:

    ((手机号 是 10086) 或者 (手机号 是 10010)) 并且 短信内容 包含 欠费

    更复杂的可能好多层嵌套

    想了下用正则不太好嵌套

    不过这种自定义规则挺像自定义语言的,自己定义语法规则,解析执行,

    网上搜了下,好多开源的语法解析库,比如这个ANTLR大家可以搜下

    这里有个简明教程

    我们的语法元素比较简单有:

    手机号  短信内容  是 不是 包含 开头 结尾 并且 或者

    然而,后面分析了下,不然手掳一版先??

    直接让用户将语法规则写入文本框,比如

    并且 是 手机号 等于 10086

        或者 是 手机号 等于 10010

    并且 是 内容 包含 欠费

    我去,貌似可以

    先将这段文本解析成规则树

    之后复杂的语法树可以是这样:

    先到这,后面再实现补充

    相关文章

      网友评论

          本文标题:短信转发匹配规则加强版 !开大!词法分析!

          本文链接:https://www.haomeiwen.com/subject/ppczfltx.html