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

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

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

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

rule

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

比如这样:

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

更复杂的可能好多层嵌套

想了下用正则不太好嵌套

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

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

这里有个简明教程

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

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

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

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

并且 是 手机号 等于 10086

    或者 是 手机号 等于 10010

并且 是 内容 包含 欠费

我去,貌似可以

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

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

先到这,后面再实现补充

相关文章

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

    在短信转发工具TranspondSms[https://www.jianshu.com/p/608d1b1477e...

  • 短信转发匹配规则多重规则介绍

    背景 在短信转发工具TranspondSms[https://www.jianshu.com/p/608d1b14...

  • 正则表达式规则

    在词法分析中,我们需要利用正则表达式来匹配特定的字符串,因此需要了解常用的正则表达式规则 规则 . 匹配除换行符...

  • 一个编译器最简前端的python实现

    一个编译器的前端通常包括词法分析器和语法分析器。在分析过程中,文本输入词法分析器,根据词法规则解析出词法单元。词法...

  • PHP核心理解-flex和bison入门

    一般词法分析器和语法分析器会一起使用,语法分析器会调用词法分析器来读取输入,词法分析器匹配到特定的模式后,就向语法...

  • 编译原理之词法分析

    词法分析的问题 术语 模式(pattern):产生和识别元素的规则 记号(token): 按照某个模式(或规则)识...

  • Hive源码学习——Driver

    HiveQL解析流程: 1.Hive根据Antlr定义的词法、语法规则完成词法、语法分析将HQL解析为AST Tr...

  • 编译原理复习笔记-词法分析

    词法分析的几个问题 术语 模式(pattern):产生和识别元素的规则 记号(token): 按照某个模式(或规则...

  • nginx

    基础配置 基础用法 location的匹配规则 内部变量 转发规则 反向代理 upstream&负载均衡 安全加固...

  • nginx转发配置

    nginx配置怎么请求转发location及rewrite规则 以=开头表示精确匹配如 A 中只匹配根目录结尾的请...

网友评论

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

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