自己感觉已经在正则上登堂入室了,终于也能体会到它的独特魅力和强大.
而回头再想总结一下,却发现其实没有什么特别的诀窍来掌握和学习它.
能总结的就几点体会.想要真正的体会正则的强大那只有...
1.理解其运行原理.
2.掌握特定语言的特定用法.
好像除了以上两个感触外还真想不到别的了.
不了解其运行原理就不知道各元素之间的合作,不了解合作就不能写出随心所欲的正则.
只有理解了运行原理,才能进一步的进行效率优化和正则变型.
不想写出长篇大论,那个书本的义务,只是想表达了解正则世界后的愉悦却找不出合适的修辞词.
至于为什么要理解运行原理,是因为当前的正则分两种引擎,NFA和DFA,一个是以文本为主导,一个是以表达式为主导.
以文本为主导的正则优点是运行快,几乎是没有当机的可能.但缺点也很明白,没有优化的可能,也少了很多的元字符,少了编写者的灵活,能独立解决问题的环境少了
而以表达式为主导的正则优点是元字符多,给于编写者最大的灵活,能最大范围的独立解决问题,但缺点也很明显,功力不深的作者很容易被自己的正则所伤,容易出现效率低下或引起当机的可能
别的语言不去研究,就熟悉的JAVA和PERL,以及主流的一些PHP,C#,VB.NET等均是以NFA表达式主导为核心引擎的.
在真正进入了正则的世界后也才真正体会到了以前别人的一句话."在没有正则的日子是怎么过来的啊!".
分享到:
相关推荐
本文主要介绍了正则表达式方面学习的心得,包括Python,C#,PHP,Notepad++,Javascript等方面的使用心得,以及总结了各个语言间正则表达式的区别。
包含所有正则表达式的内容,还有个人的总结与心得!!!
正则表达式是用来检验和操作字符串的强大工具。简单的理解正则表达式可以认为是一种特殊的验证字符串。正则表达式常见运用是验证用户输入信息格式,比如上面的那组“\w{1,}@\w{1,}\.\w{1”,实际上就是验证邮件地址...
正则表达式学习小结 基础学习 正则表达式学习小结 基础学习
正则表达式,正则表达式,正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式
常用正则表达式 正则表达式 常用正则表达式 正则表达式
基于正则表达式的协议识别研究与实现
正则表达式教程 正则码 正则表达式教程 正则码 正则表达式教程 正则码正则表达式教程 正则码 正则表达式教程 正则码 正则表达式教程 正则码 正则表达式教程 正则码
C# 正则表达式 集合 C# 正则表达式 集合 C# 正则表达式 集合
正则表达式 正则表达式 正则表达式 正则表达式
本文的研究目的在于厘清正则表达式的起源、概念和构造,并以任务驱动的方法,以几款常用的语料库工具为例,探讨正则表达式在文本清理、语料标注和检索等技术环节中的具体应用,从而进一步推动正则表达式在语料库研究中的...
让 Office Excel、WPS 表格支持正则表达式的免费插件:「Excel 正则工具」顾名思义,需要使用 “正则表达式(PCRE)” 的知识来进行操作,对于完全没有接触过正则的朋友也许有一定的入门门槛,但正则实在是太过强大...
正则表达式 正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式
正则表达式
正则表达式过滤脚本的一些研究(asp.net+C#)在做一些网站(特别是BBS之类)时,经常会有充许用户输入html样式代码,却禁止脚本的运行的需求, 以达到丰富网页样式,禁止恶意代码的运行。 当然不能用 HtmlEncode 和 ...
1.match() 从开始位置开始匹配 2.search() 任意位置匹配,如果有多个匹配,只返回第一个 3.finditer() ...根据正则式划分字符串,可指定最大的划分数 >>> p = re.compile(r’\W+’) >>> p.split(‘This is a test, shor
Python正则表达式研究
正则表达式正则表达式正则表达式正则表达式正则表达式正则表达式
Java正则表达式Java正则表达式Java正则表达式Java正则表达式