设计一个支持‘.' 和 '*' 的正则表达式匹配算法。
这个题复杂的地方在于对于 '*' 的处理,这个符号在正则表达式中被称为贪婪型的量词。这个量词在实际匹配过程中也是尽可能多的匹配直到词尾或者不匹配成功才结束,然后如果其后面还有没有匹配的,则回退到合适的位置,然后才进行下一个匹配。正则表达式中的匹配优先与回溯大概也就是这个意思。关于正则表达式这方面的知识,有兴趣可以读读《精通正则表达式》的第4章表达式的匹配原理。
回到本题,正因为 '*'的特殊性,我们在分类的时候选择根据 '*' 来进行,分类后其子问题也...
分类:
其他好文 时间:
2014-06-20 09:40:42
阅读次数:
207
如果myeclipse 报如下错误A cycle was detected in the
build path of
project如果我们的项目包含多个工程(project),而它们之间又是循环引用的关系,那么Eclipse在编译时会抛出如下一个错误信息:“A cycle
was detected...
分类:
编程语言 时间:
2014-06-20 08:57:36
阅读次数:
525
FirefoxOS平台给web开发人员希望多年的:移动环境专注于用HTML、CSS和JavaScript创建应用,本指南的目的是让你开始使用一个环境和基本应用架构,以便您可以创建下一个伟大的应用!如果你想要跟随这个指南学习,你可以下载快速开始应用应用结构打包与托管应用程序有两种类型的FirefoxO...
分类:
其他好文 时间:
2014-06-20 08:47:34
阅读次数:
318
6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少?
10 = 6 + 4 4
18 = 10 + 8 4 + 4
32 = 18 + 14 8 + 6
? = 32 + 22 14 + 8
? = 54 + 32 22 + 10
? = 86 + 44 32 + 12
分析特...
分类:
编程语言 时间:
2014-06-07 16:11:25
阅读次数:
195
Pull 解析器简介
Pull 解析器的运行方式与 SAX 解析器相似。它提供了类似的事件,如: 开始元素和结束元素事件,使用xmlPullParser.next() 可以进入下一个元素并触发相应事件。跟 SAX 不同的 是, Pull 解析器产生的事件是一个数字,而非方法,因此可以使用一个 switch 对事件进行处理。当元素开始解析时,调用 parser.nextText() 方法可以获...
分类:
其他好文 时间:
2014-06-07 14:46:43
阅读次数:
200
昨天写了 The Query on the
Tree 的解题报告,但是遗留下一个问题,不能算是完美解决这道题.因为如果精心构造数据的话,昨天的题解还是会被卡住的.今天中午睡觉的时候突然想起一个不会被卡住的方法.题意 有一棵树,树的每个点有点权,每次有三种操作: 1.
Query x 表示查询以x...
分类:
其他好文 时间:
2014-06-06 16:32:02
阅读次数:
266
《演讲之禅:一位技术演讲家的自白》读书笔记第1章
其实我看不到裸露的你要知道你怎么对待错误,听众就会怎样对待错误;
你可以泰然处之,大家也就一笑而过;如果你大惊失色,大家同样会将注意力集中到这件事上;因此,如果我在费城的下一个演讲时鞋子着火了,或者上楼梯时摔倒了,还在走道上摔了个嘴啃泥,我就可以将这...
分类:
其他好文 时间:
2014-06-05 20:43:20
阅读次数:
375
CruiseControl.NET简介
CruiseControl.NET是.net平台下,一个开源的自动化持续集成工具。
它是一个程序套件,但其核心是一个叫做CruiseControl.NETServer的自动集成服务器.
通过直接监视源代码管理仓库,CruiseControl.NET使集成过程得...
分类:
Web程序 时间:
2014-06-05 20:41:19
阅读次数:
387
本文提供Delphi下一个基于原子操作的无锁队列,简易高效。适用于多线程大吞吐量操作的队列。可用于Android系统和32,64位Windows系统。
分类:
其他好文 时间:
2014-06-05 17:28:21
阅读次数:
410
6–1.字符串.string
模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串是否是另一个大字符串的一部分?答:有,string.find(str,beg,end)6–2.字符串标识符.修改例
6-1 的 idcheck.py 脚本,使之可以检测长度为一的标识符,并且可以识别 Pytho...
分类:
编程语言 时间:
2014-06-05 15:25:41
阅读次数:
338