开篇词丨学习正则,我们到底要学什么?
该思维导图由 AI 生成,仅供参考
正则是什么,能做什么?
学习正则,我们到底要学什么?
1. 正则的基本知识
2.在常见的编辑器中使用正则的方法
3. 正则中进阶的内容
- 深入了解
- 翻译
- 解释
- 总结
学习正则表达式是程序员或准程序员必备的技能之一。正则表达式简单、强大,可以极大地提高文本处理效率。然而,很多人并没有系统学习过正则表达式,导致在实际应用中遇到困惑和问题。作者通过课程系统化地梳理和讲解正则的知识点,希望帮助读者解决学习和应用中的困惑,让正则这个强大的工具在读者手上发挥出真正的威力。 正则表达式是一种描述文本内容组成规律的表示方式,在编程语言、Linux命令和各种文本编辑器中广泛应用。它可以用来校验数据的有效性、提取文本内容、做文本替换等,极大地简化了文本处理的逻辑。通过学习正则表达式,读者可以轻松解决之前需要花费大量时间和精力才能完成的任务,提高工作效率。 在课程中,作者安排了正则的基本知识、在常见编辑器中使用正则的方法以及正则中的进阶内容。通过讲解元字符、模式和分组、断言等内容,读者可以掌握正则的重要概念和功能,以及记忆方法和实际应用技巧。作者还通过大量示例让读者了解正则在实际工作场景中的使用,帮助读者理解正则的工作机制和常见的优化方式。 总之,学习正则表达式是非常值得花时间和精力的基本技能。通过系统学习和实际应用,读者可以轻松掌握正则表达式,提高工作效率,解决实际问题。
2020-06-0858人觉得很赞给文章提建议
《正则表达式入门课》,新⼈⾸单¥59
全部留言(26)
- 最新
- 精选
- RobotVScode工具需要把替换内容由\1改为$1
作者回复: 👍🏻 感谢分享
2020-06-09429 - 吃草🐴~记得以前刚工作的时候,在 W3C 里看过总结过的常用的正则表达式,还打印出来放在电脑旁边,后来个人也确实觉得不常用,就慢慢放弃了。😂还觉得是我的智商配不上正则表达式。这次跟着老师过一遍正则,好好学习一番~ 很喜欢涂老师的这句话:不是工作中用不到,而是当你不熟悉一个技能的时候,遇到问题时根本不会考虑它。感觉说得太有道理🤔🤔
作者回复: 加油,正则不难,你可以的
2020-06-1612 - 德育处主任这个专栏是基于什么编程语言来使用正则的?
作者回复: 常见的语言都会讲一讲,前面更多使用的是Python,测试起来比较方便
2020-06-08912 - William老师能否详细对比下正则和通配符
作者回复: 通配符比正则简单很多,主要有星号(*)和问号(?),星号表示零到多个任意个字符,问号表示任意单个字符。 而正则也要强大和复杂很多,星号和问号含义也不一样了,表示是前面的正则部分出现多少次。
2020-06-0827 - LubinLew您好: 我想问一下,目前的正则规则有RFC吗?讲述的都是PCRE规则吗?有的语法某些语言不支持,是因为其库的实现不完全是吗?之前在Linux中使用过BRE和ERE,这些都是正则的实现,但是PCRE规则应用更广泛是吗?
作者回复: 在正则流派里面会讲解原因,了解发展历史你就明白原因了。各个语言和库确实实现有差异,但大部分功能都是一样的,思路是一样的。 PCRE是目前主流编程语言使用的流派,应用多一些,BRE和ERE在Linux一些命令中会见到。
2020-06-245 - 风正则文法,对应有限自动机,其对模式的表示能力和识别能力是有限的。人去理解和应用它时,思维过程是线性的,人脑处理线性的东西其实是有优势的。 但如果是要做正则的解析器,而不是单纯地使用它的话,这时候要实现一个小编译器,将re转换成一颗简单的语法树(非叶子结点都是or结点或and结点),再遍历这个树,并按照几个特定的规则,将其转为nfa,然后在构造效率和识别效率上做权衡,决定要不要转成dfa。这个时候思维就不是线性的了,而是树。 从工具的使用者到工具的实现者,思维相差一个维度。 前人站在更高的维度上实现一个工具,让后人可以用简单的脑力去实现同样的事情,这世上类似的工具有很多,正则只是其中之一。
作者回复: ������������
2020-09-143 - 卡尔正则就是匹配文本和位置
作者回复: 对的
2020-06-152 - 我来也vi中有两套正则表达式。 不同模式下的元字符还有所差异。 这个不太好记。
作者回复: 确实不好记,需要多加练习,熟练了自然就记住了。 方法是先把核心的概念都掌握好,至于用什么表示,可以查查参考手册
2020-07-071 - 杏林之虎word等 office组建中,可否使用正则?如果可以,是否可以推荐学习资料?
作者回复: Office的查找替换中的通配符,可以实现一些简单的正则的功能,但对于正则还不支持。
2020-06-3021 - bigben在“2.在常见的编辑器中使用正则的方法”中,重复的单词去重后再加个数字该怎么写,比如“cat cat”替换后的结果是“cat2”
作者回复: 正则部分和原来一样,替换部分不能用\12,因为这样会理解成第12个,在Python里面可以写 \g<1>2这样,在PHP中可以用 \${1}2。像Java里面,如果写\12,他会看12这个分组不存在,然后当成\1后面加个2。有一些语言下你这个问题用正则是无解的,只能想别的办法,比如用命名分组。
2020-06-201