设计一个支持‘.' 和 '*' 的正则表达式匹配算法。
这个题复杂的地方在于对于 '*' 的处理,这个符号在正则表达式中被称为贪婪型的量词。这个量词在实际匹配过程中也是尽可能多的匹配直到词尾或者不匹配成功才结束,然后如果其后面还有没有匹配的,则回退到合适的位置,然后才进行下一个匹配。正则表达式中的匹配优先与回溯大概也就是这个意思。关于正则表达式这方面的知识,有兴趣可以读读《精通正则表达式》的第4章表达式的匹配原理。
回到本题,正因为 '*'的特殊性,我们在分类的时候选择根据 '*' 来进行,分类后其子问题也...
分类:
其他好文 时间:
2014-06-20 09:40:42
阅读次数:
207
注:《精通ASP.NET MVC
3框架》受到了出版社和广大读者的充分肯定,这让本人深感欣慰。目前该书的第4版不日即将出版,现在又已开始第5版的翻译,这里先贴出该书的最后一章译稿,仅供大家参考。
nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块
的开发以及它的内部原理,但是国内却没有一本关于这方面的书,源于此我们决定自己来写一本。本书的作者为淘宝核心系统服务器平台组的成员,本书写作的思路 是从模....
分类:
其他好文 时间:
2014-06-09 23:57:47
阅读次数:
373
教程截图:
作为一名无证程序员,无论你多么精通Objective-C的内存管理,随着时间的推移,你也不可避免的犯内存相关的错误。但通常因为代码量太大,以至于你不可能一行一行的去排除(等你解决完,你设计的动车早相撞了!)
幸运的是,苹果已经提供了一些好的方式来帮助你找到应用程序中内存相关的问题。有.....
分类:
其他好文 时间:
2014-06-07 22:18:50
阅读次数:
593
成为一名精通 Linux
程序设计的高级程序员一直是不少朋友孜孜以求的目标。根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍、Java
程序员的 2.6 倍, Linux 程序员年终奖金平均为 Windows 程序员的 2.9 倍。同时数据显示,随...
分类:
系统相关 时间:
2014-06-06 07:46:42
阅读次数:
464
从企业级商业实战的角度入手,24小时内通过23个动手实战案例,循序渐进的对Android商业级别的应用程序开发要点各个击破,依托于在多年的Android(6款完整的硬件产品和超过20款应用软件)开发和企业级培训经验(超过150期的次Android的企业内训和公开课),旨在在实务的基础之上帮助你完成任...
分类:
移动开发 时间:
2014-06-05 16:39:05
阅读次数:
248
寸拳威力大,还得靠脑子(文/ William
Herkewitz)忘了那些被击碎的木板和混凝土板吧,没什么技艺比中李小龙著名的寸拳更令人印象深刻。仅仅从一英寸外,李小龙就可以打出爆炸性的一击,足以打得对手双脚离地。李小龙精通这令全世界崇拜的技艺,甚至在《杀死比尔》中,寸拳也有所展现。如果你和我一样,...
分类:
其他好文 时间:
2014-06-02 20:59:19
阅读次数:
285
编程学习心得和方法(转载,供新手参考)
即便是高级编程人员,像那些为开发软件工作的类库和组件高手,他们也不敢说自己精通每一种语言。
事实就是这样,每一种语言有着它们相似而又不同的语法,它们有着不同的关键字,发展出了各种各样的类库,它们的函数或者方法的声明定义都有不同,更多的差异不为我们所知。
每一....
分类:
其他好文 时间:
2014-06-02 18:13:07
阅读次数:
299
JavaLearningPath(一)、工具篇一、JDK(JavaDevelopmentKit)JDK是整个Java的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的J...
分类:
编程语言 时间:
2014-06-02 13:42:22
阅读次数:
325
首先说一下我个人的认识吧,我觉得高手应该是这样的:
(1)精通Java基础知识与基础理论,熟悉JDK的发展史。
(2)熟悉JVM,熟悉内存调试
(3)深刻理解Java的线程与并发包,以及背后的内存实现原理
(4)精通eclipse的使用,明白其中的插件的开发原理。深刻理解findbugs的缺陷模式。
(5)熟悉SSH框架,并对源代码有足够的兴趣和研究。
(6)熟悉数据缓存的原理与实现,...
分类:
编程语言 时间:
2014-06-01 17:19:11
阅读次数:
332