- 2
- 0
- 约6.88千字
- 约 66页
- 2016-02-26 发布于湖北
- 举报
由于存在着一些特殊的情况,以及需要设置终止递归的条件。因此实际的处理过程要更为复杂些最简单的情况就是,当正则表达式推进到末尾时(regexp[0] == \0),所有前面的判断都成功了,那么这个正则表达式就与文本匹配。 如果正则表达式是一个字符后面跟着一个*,那么将会调用matchstar来判断闭包(closure)是否匹配。函数matchstar(c, regexp, text)将尝试匹配重复的文本字符c,从零重复开始并且不断累加,直到匹配text的剩余字符,如果匹配失败,那么函数就认为不存在匹配。这个算法将识别出一个“最短的匹配”,这对简单的模式匹配来说是很好的。 如果没有包含$,并且如果当前不是处于text字符串的末尾(也就是说,*text!=\0)并且如果text字符串的第一个字符匹配正则表达式的第一个字符,那么到现在为止都是没有问题的;我们将接着判断正则表达式的下一个字符是否匹配text的下一个字符,这是通过递归调用matchhere函数来实现的。这个递归调用不仅是本算法的核心,也是这段代码如此紧凑和整洁的原因。 如果所有这些匹配尝试都失败了,那么正则表达式和text在这个位置上就不存在匹配,因此函数matchhere将返回0。 在这段代码中大量地使用了C指针。在递归的每个阶段,如果存在某个字符匹配,那么在随后的递归调用中将执行指针算法(例如,regexp+1 an
您可能关注的文档
- 火灾事故案例总结(很全的哦)创新.doc
- 火灾伤亡事故现场处置方案创新.doc
- 火灾应急疏散演习方案创新.ppt
- 火灾应急疏散预案ppt创新.ppt
- 火灾应急预案公司创新.ppt
- 火灾应急预案应急处置创新.doc
- 火灾检查创新.ppt
- 火灾演练创新.doc
- 火灾自动报警与消防联动控制创新.ppt
- 火灾自动报警及消防联动控制系统的构成与功能创新.ppt
- (2026)医院评审筹备与科室标准化建设工作总结(2篇).docx
- 2026年资质年检自查报告(2篇).docx
- 2026水库自查报告(2篇).docx
- 2026年北师大版适配小升初历史寒假衔接卷重大事件因果分析标准试卷第473套(含答案解析与可打印作答区).docx
- 河北唐山市2026年高三下学期第一次模拟演练物理试卷(解析版).pdf
- 六年级上册Unit 2物理练习:第2课时单词拼写与选择题.pdf
- 湖北省襄阳市第四中学2025-2026学年高三上学期教学质量检测(二)物理(II)试题(解析版).pdf
- 湖北省随州市六校2026年高三下学期一模物理试题(解析版).pdf
- 湖北省襄阳市枣阳二中2025-2026学年高三上学期一模物理试题(解析版).pdf
- 湖北省襄阳市枣阳二中2025-2026学年高三上学期一模物理试题(解析版).docx
最近下载
- DL_T 1102-2021中华人民共和国电力行业标准-配电变压器运行规程.docx
- 北京国电华北电力工程有限公司《火力发电厂烟风煤粉管道支吊架设计手册》(2007年).pdf VIP
- 教学课件-《塑性成形工艺与模具设计(第3版)》高锦张.ppt VIP
- 2023年评审准则版机动车检验机构质量手册.docx VIP
- 2026年入团考试题库180题(附答案解析).pdf
- 2025年社区工作者综合知识与能力(社区知识)真题卷.pdf VIP
- 儿童喘息性疾病鉴别诊断.ppt
- 《在马克思墓前的讲话》课件19张PPT.pptx VIP
- 2026年《万唯中考黑白卷》2026《万唯中考•山东黑白卷》数学白卷.pdf VIP
- 2022年新人教版高中英语必修二教案全套.docx VIP
原创力文档

文档评论(0)