正则研究心得

 

自己感觉已经在正则上登堂入室了,终于也能体会到它的独特魅力和强大.

而回头再想总结一下,却发现其实没有什么特别的诀窍来掌握和学习它.

能总结的就几点体会.想要真正的体会正则的强大那只有...

 

1.理解其运行原理.

2.掌握特定语言的特定用法.

 

好像除了以上两个感触外还真想不到别的了.

不了解其运行原理就不知道各元素之间的合作,不了解合作就不能写出随心所欲的正则.

只有理解了运行原理,才能进一步的进行效率优化和正则变型.

 

不想写出长篇大论,那个书本的义务,只是想表达了解正则世界后的愉悦却找不出合适的修辞词.

至于为什么要理解运行原理,是因为当前的正则分两种引擎,NFA和DFA,一个是以文本为主导,一个是以表达式为主导.

以文本为主导的正则优点是运行快,几乎是没有当机的可能.但缺点也很明白,没有优化的可能,也少了很多的元字符,少了编写者的灵活,能独立解决问题的环境少了

而以表达式为主导的正则优点是元字符多,给于编写者最大的灵活,能最大范围的独立解决问题,但缺点也很明显,功力不深的作者很容易被自己的正则所伤,容易出现效率低下或引起当机的可能

 

别的语言不去研究,就熟悉的JAVA和PERL,以及主流的一些PHP,C#,VB.NET等均是以NFA表达式主导为核心引擎的.

在真正进入了正则的世界后也才真正体会到了以前别人的一句话."在没有正则的日子是怎么过来的啊!".


你可能感兴趣的:(正则)