从正则表达式到nfa的状态表,nfa和dfa的转换函数有什么区别
大家好,如果您还对从正则表达式到nfa的状态表不太了解,没有关系,今天就由本站为大家分享从正则表达式到nfa的状态表的知识,包括nfa和dfa的转换函数有什么区别的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
一、验证中文姓名的正则表达式是什么
1、验证中文姓名的正则表达式:[\u4e00-\u9fa5],这个表达式是专门用来匹配中文姓名的。
2、【正则表达式】正则表达式,又称规则表达式,是计算机科学的一个概念,这个概念最初是由Unix中的工具软件普及开的。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。正则引擎主要分为DFA、NFA两大类。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。
3、【起源】在1951年,一位名叫StephenKleene的数学科学家,他在WarrenMcCulloch和WalterPitts早期工作的基础之上,发表了一篇题目是《神经网事件的表示法》的论文,利用称之为正则集合的数学符号来描述此模型,引入了正则表达式的概念。正则表达式被作为用来描述其称之为“正则集的代数”的一种表达式,因而采用了“正则表达式”这个术语。
二、nfa和dfa的转换函数有什么区别
1.DFA对于文本串里的每一个字符只需扫描一次,比较快,但特性较少;NFA要翻来覆去吃字符、吐字符,速度慢,但是特性丰富,所以反而应用广泛,当今主要的正则表达式引擎,如Perl、Ruby、Python的re模块、Java和.NET的regex库,都是NFA的。
2.只有NFA才支持lazy和backreference等特性;
3.NFA急于邀功请赏,所以最左子正则式优先匹配成功,因此偶尔会错过最佳匹配结果;DFA则是“最长的左子正则式优先匹配成功”。
4.NFA缺省采用greedy量词(见item4);
5.NFA可能会陷入递归调用的陷阱而表现得性能极差。
关于从正则表达式到nfa的状态表的内容到此结束,希望对大家有所帮助。
——————————————小炎智能写作工具可以帮您快速高效的创作原创优质内容,提高网站收录量和各大自媒体原创并获得推荐量,点击右上角即可注册使用
相关新闻推荐
- 从第几位开的的正则表达式(正则表达式中怎么匹配换行符) 2023-11-29
- 从正则表达式到nfa的状态表,nfa和dfa的转换函数有什么区别 2023-11-29
- 从正则表达式中提取字符串 lookup提取文字 2023-11-29
- 从字符串提取正则表达式,如何用正则表达式提取字符串中的汉字 2023-11-29
- 从url匹配识别域名正则表达式 爬虫url链接怎么获取 2023-11-29
- 从url中提取参数的正则表达式(怎么判断url里面的参数是否存在) 2023-11-29