社区
C语言
帖子详情
DFA和匹配算法
上山老人
2012-05-06 11:59:36
想知道DFA和匹配算法,像AC,WM算法的区别或者说有什么关系?
...全文
222
1
打赏
收藏
DFA和匹配算法
想知道DFA和匹配算法,像AC,WM算法的区别或者说有什么关系?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
「已注销」
2012-05-07
打赏
举报
回复
简单的DFA,见龙书《编译原理》(要看就先看“龙书”,封面有条红龙或者紫龙的那本,由斯坦福大学3-5个人编的),词法分析,里面对DFA有详细说明,还有实现方法。
C++
DFA
实现敏感词
匹配
该
算法
基于
DFA
并进行相应的简化,大概流程是将敏感词库按模块聚合构建成一个词树,然后从头到尾扫描一遍目标文本,当遇到以敏感词树中的索引的字时,查看后面的文本是否构成敏感词,构成敏感词即记录(当查找到敏感词时,记录下来敏感词位置,接着往下
匹配
,如果后续
匹配
不上,则以之前
匹配
到的为主,如若后续
匹配
上了,则将之前
匹配
到的节点后移,以此
匹配
到最长的敏感词) 该DEMO已实现添加敏感词 设置敏感词的等级 敏感词低于何种等级不屏蔽 实现了最长的敏感词
匹配
(即敏感词为:中国,中国人,中国人民 )当输入:我是一个中国人民时,
匹配
到中国人民
多模式
匹配
算法
实现及测试代码
基于NFA状态和基于
DFA
状态的AC(Aho—Corasiek)
算法
,WM(Wu-Manber)
算法
论文研究-基于Bloomfilter的高效正则表达式
匹配
算法
.pdf
针对确定有限自动机(
DFA
)的正则表达式
匹配
技术存在状态膨胀和一次状态转移只能处理单个字符的问题,提出了一种基于布鲁姆过滤器的正则表达式
匹配
算法
。该
算法
将正则表达式中的每个确定字符串组成
DFA
的一个状态,添加比特向量完成
匹配
过程,并且在一次状态转移中根据确定字符串的
匹配
结果达到处理多个字符的目的。实验分析表明该
算法
有效降低了
DFA
状态的膨胀,提高了
匹配
速率。
论文研究-基于模板有限自动机的正则表达式
匹配
算法
.pdf
采用规则分组的办法解决
DFA
状态爆炸问题,随着规则数目的增加,空间压缩效率大大降低。针对此问题提出了模板有限自动机分组
算法
。该
算法
基于规则模板对规则集进行分组,各分组分别构建
匹配
引擎;同时,根据实际规则数目和系统结构改变规则子集的数目,达到更好的
匹配
效率。理论分析和实验表明,与传统分组
算法
相比,在存储空间压缩相当情况下,分组数目大大减少;与其他典型的
DFA
改进
算法
相比,预处理时间和存储空间有数量级别的缩减,且
匹配
速率没有明显降低。
C++ 正则文法定义-正则表达式-NFA-
DFA
-最小化
DFA
-字符串
匹配
DFA
内涵C++源码,UML类图,
算法
思想文档。内容主要包括:自定义正则文法(在ProgramManager类中自定义),根据正则文法和输入的正则表达式构建NFA,NFA自动构建
DFA
,
DFA
最小化,
DFA
匹配
字符串。其中含有大量的中文注释,并提供了测试方法。本人还是学生,希望各位大神多多指点。
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章