`

正则研究心得

 
阅读更多

 

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

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

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

 

1.理解其运行原理.

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

 

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

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

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

 

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

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

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

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

 

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

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


分享到:
评论

相关推荐

    正则表达式百度版

    它起源于20世纪50年代,由神经生理学家Warren McCulloch和Walter Pitts的研究成果启发,后经数学家Stephen Kleene在1956年正式引入计算机科学领域,定义了正则表达式的概念。自那时起,正则表达式逐渐成为了文本处理...

    易语言简单正则调试器源码

    易语言是一种基于中文编程的计算机程序设计语言,其设计目标是让编程更加简单、直观,尤其适合初学者。...同时,别忘了在易语言社区中分享你的学习心得和改进想法,参与到更广泛的讨论和实践中去。

    论文 基于度量学习的小样本学习研究 阅读心得

    论文主要工作: 本文提出带间隔的小样本学习, 提升了所学习嵌入表示的质量。... 本文使用基于图正则的关系传播框架, 通过结合样本分布的流形和已知的样本间关系,推断出未知的样本间关系。 该框架的目

    AI入门笔记-个人心得.zip

    4. **模型训练与调优**:讨论了数据预处理、模型选择、超参数调整、正则化、早停策略等优化技巧,以及交叉验证和网格搜索等方法。 5. **实际应用案例**:可能会包含一些AI应用实例,比如用AI进行图像分类、语音识别...

    因为经常参加各类AI比赛,这个repo主要记录和分享下相关比赛的baseline、topline、心得等等.zip

    这些心得不仅对于当前比赛,对于未来的工作和研究都有深远的影响。 例如,数据预处理环节,可能会涉及到缺失值填充、异常值处理、特征缩放等步骤,这些都可以显著影响模型的训练效果。特征工程则包括特征选择、特征...

    libsvm学习心得

    《libsvm学习心得》 libsvm,全称“Library for Support Vector Machines”,是由台湾大学的Chih-Chung Chang和Chih-Jen Lin开发的一款开源工具,主要用于支持向量机(SVM)的学习与预测。这款强大的库在机器学习...

    计算机程序编译原理学习心得.docx

    掌握正则表达式等编译原理知识,不仅可以帮助我们处理复杂的文本分析和匹配问题,还可以在编程中实现更加高效的文本处理。此外,通过学习编译原理,我逐渐掌握了如何分析和理解各种编程语言的语法结构,这对于我进行...

    中科大考研心得

    【中科大考研心得】 在考研的漫漫长路上,中国科学技术大学(简称中科大)作为国内顶尖的科研院校,其考研竞争激烈程度不言而喻。本文将分享一位考生的考研经验,涵盖准备过程、复试流程及具体内容,为未来的考研者...

    Java写的cmm词法分析器(源代码)及javacc学习心得文档

    1. **词法规则定义**:通常使用正则表达式来定义不同的标记类型。例如,标识符、关键字、数字、运算符等,每种类型都有其对应的模式。 2. **扫描器(Scanner)**:这是实际执行词法分析的类,它会遍历输入字符流,...

    计算机程序编译原理学习心得_(2).docx

    而正则表达式的使用则与编译原理中的模式匹配和文本处理息息相关。此外,代码生成自动化工具的开发也依赖于编译原理的知识。这些技能的应用,不仅提升了开发效率,也增强了开发者的程序设计能力。 通过实际的课程...

    计算机视觉(CV)开发实战:图像分类系统的实验心得与案例解析

    这些技术的进步不仅推动了科学研究的发展,也为工业界带来了革命性的变化。 本报告旨在全面探讨计算机视觉的基本原理及其在开发实践中的应用。通过具体的案例——图像分类系统的开发过程,我们将深入了解计算机视觉...

    Asp.net控件研究成果打包

    这个研究成果打包中的"docnet控件成果"可能包含了上述各个方面的详细文档、示例代码或实践心得,对深入理解和应用Asp.NET控件有着极高的参考价值。无论是初学者还是经验丰富的开发者,都能从中受益,提升开发技能,...

    机器学习书:《机器学习宝典》包含:谷歌机器学习速成课程(招式)+机器学习术语表(口诀)+机器学习规则(心得)+机器学习中的常识性问题(内功)。该资源适用于机器学习,深度学习研究人员和爱好者参考!

    这部分可能包含了一些专家的经验法则和最佳实践,比如特征选择的重要性、正则化的作用、数据预处理的技巧等。这些规则可以帮助读者避免常见的错误,提高模型的性能和泛化能力。 4. **机器学习中的常识性问题(内功...

    计算机编译原理实验报告

    编译原理是计算机科学中的一个核心领域,它研究如何将高级编程语言转换为机器可执行的低级代码,这一过程通常涉及词法分析、语法分析、语义分析以及优化等多个阶段。通过学习编译原理,我们可以了解计算机程序从源...

    吴恩达机器学习课程笔记

    ### 吴恩达机器学习课程笔记关键知识点综述 #### 一、课程概述与目标 ...通过上述内容的学习,学员不仅能够掌握机器学习的基础理论知识,还能了解如何将这些理论应用于实际问题中,为后续深入研究打下坚实的基础。

    Python网络爬虫实习报告.doc.pdf

    网络爬虫在互联网时代扮演着重要的角色,它能够自动化地抓取大量网页信息,为数据分析、市场研究、信息监控等领域提供数据支持。Python因其简洁的语法和丰富的库资源,成为开发网络爬虫的首选语言之一。 二、爬虫...

    手写数字识别(python底层实现)报告.docx

    此外,还可以使用正则化技术防止过拟合,如L1和L2正则化。 **四、Python实现** 在Python中,实现多层感知机需要定义网络结构(包括输入层、隐藏层和输出层)、损失函数、优化器(如随机梯度下降SGD)以及训练循环。...

    DNN开发总结--dnn初学者

    3. **解释性**:DNN的决策过程往往不透明,模型解释性是当前研究热点。 4. **训练时间**:训练大型DNN可能需要数小时甚至数天。 总结,DNN是现代AI的核心技术之一,其强大的表示学习能力推动了诸多领域的进步。然而...

    “猫狗分类实验”总结.pdf

    为了缓解过拟合,除了采用dropout技术和L2正则化策略,实验中还采用了数据增强手段,通过实时生成旋转、缩放和裁剪等新图像,增加模型在训练过程中的泛化能力。 实验结果显示,通过预训练的卷积基进行微调,可以...

Global site tag (gtag.js) - Google Analytics