相关定义: 识别器:可以在字符流中识别特定单词的程序。 有限自动机(FA):识别器的一种形式化方法,包含一个有限状态集,一个字母表,一个转移函数,一个起始状态和一个或多个接受状态。 正则表达式:有限自动机所接受的单词的集合,形成的语言。eg:n(ew|ot) RE--NFA--DFA--最小DFA- ...
分类:
其他好文 时间:
2016-05-09 23:37:54
阅读次数:
389
最后是一个小作业 : 给定如下的正则表达式 (a|b)((c|d)*),请完成如下练习: (1)使用Thompson算法,将该正则表达式转换成非确定状态有限自动机(NFA); (2)使用子集构造算法,将该上述的非确定有限状态自动机(NFA)转换成确定状态有限自动机(DFA); (3)使用Hopcro ...
分类:
其他好文 时间:
2016-05-07 06:34:48
阅读次数:
448
最后是最小化算法, 它的目的其实在于通过合并的方式, 减少状态数, 然后使得最终生成的代码中用来表示状态转移的数据结构尽量小, 以此节约空间和时间. DFA中运用最广泛的算法是hopcroft算法, 接下来就是对该算法的简要介绍... 这个算法的第一步是将所有的状态(也就是代码中的nodes) 划分 ...
分类:
其他好文 时间:
2016-05-07 01:00:43
阅读次数:
114
接下来的步骤就是从NFA转换为DFA...首先要思考的第一个问题是为什么要从NFA转换到DFA, 那么我们可以先来看看他们的区别, 通俗来讲, NFA就是说给定一个输入的字符, 可以有多种状态可以选择, 而DFA的话, 就只有一种状态可以选择... 由这里就可以发现, 其实DFA在代码的实现难度上是 ...
分类:
其他好文 时间:
2016-05-07 00:46:59
阅读次数:
268
前言: 本人环境windows 7 64位,python2.7 re是什么: regular expression缩写,意为正则表达式,是python的众多模块之一 re用途: 从文本中有选择的批量抽取想要的文本碎片 re类型: 分为DFA(确定的有穷状态自动机)和NFA(非确定的有穷状态自动机) ...
分类:
编程语言 时间:
2016-04-01 22:02:51
阅读次数:
218
在写之前,小Alan给大家推荐一篇来自http://cmsblogs.com/?p=1031的博文,也会参考部分内容来描述博文。 敏感词过滤应该是不用给大家过多的解释吧?讲白了就是你在项目中输入某些字(比如输入xxoo相关的文字时)时要能检测出来,很多项目中都会有一个敏感词管理模块,在敏感词管理模块 ...
分类:
编程语言 时间:
2016-03-28 16:49:44
阅读次数:
868
Problem 12595 : No special judgementProblem descriptionADFA={|B是DFA,w是串,B接收w}证明:ADFA是可判定的。 实验方法:编写一个算法/程序,对于任意给定的输入,可以判定ADFA。 Input有多个测试序列,测试结束于测试文件结....
分类:
其他好文 时间:
2016-01-12 13:28:46
阅读次数:
146
#include # include using namespace std; class grammer { private: int flag;//判别是NFA还是DFA的标识符 char K[50];//有穷非空状态集合 char E[50];...
分类:
其他好文 时间:
2015-12-03 20:56:32
阅读次数:
167
敏感词过滤是很多网站、论坛常用的功能,一下为相关文章: 1、关于java中敏感词检测的一些总结 2、Java 利用DFA算法 屏蔽敏感词 3、Java实现敏感词过滤--DFA算法
分类:
其他好文 时间:
2015-11-11 22:12:14
阅读次数:
150
正则引擎的分类 正则引擎的分类正则引擎的分类主要分两种:DFA:egrep、awk、lex、flexNFA:.NET、PHP、Perl、Ruby、Python、GNU Emacs、ed、sec、vi、grep等NF...
分类:
其他好文 时间:
2015-10-19 20:51:19
阅读次数:
217