提升你的正则表达式游戏
学习正则表达式(Regex)一开始并不轻松有趣,但在制定字符串问题解决策略时,它是一项极其重要的技能。这里简要概述了学习正则表达式的最佳方法、正则表达式教程以及速查表。
我第一次看到正则表达式的时候,立马就说这是什么鬼东西!?我一眼就看出要弄好它需要时间和精力,所以就当做“我以后再试试”之类的玩意儿。我一直拖着,心想,嘿,我只要自己写代码就能解决问题,没什么大不了的。难道我错了吗!在我最近的一次技术面试中,你猜怎么着?正则表达式被提到了!
正则表达式非常重要,它不仅用于解决字符串操作问题,还广泛应用于文本编辑器、数据搜索、结果筛选、密码匹配、邮箱匹配、表单验证等等。在 CodeWars 或 HackerRank 上,解决字符串操作问题原本需要 n 个步骤,而使用正则表达式,可以将时间缩短一半!这充分证明了正则表达式的价值!
于是,我开始了彻底理解正则表达式的历程。我不想仅仅靠蛮力解决问题,而是希望尽可能高效。因此,我引用了一句话:“思考更聪明,而不是更努力”。
以下是我认为获取正则表达式知识的最佳方法,从初学者到中级,再到高级。如果你想要更高级,你需要在正则表达式上练习,只要你下定决心,你就能成功。
第一步:
您知道您需要学习正则表达式,但是从哪里开始呢?
步骤 1 — 参加教程:
感谢上帝赐予DuckDuckGo(我只用 DuckDuckGo)和谷歌,这里有一些很棒的网站,它们提供了循序渐进的学习流程,肯定会很有帮助。我喜欢其中一些网站在最后提供小测验。
- RegexOne — https://regexone.com/
- 学习正则表达式— https://learn-regex.com/
- RegularExpressions.Info 教程— https://www.regular-expressions.info/tutorial.html
- Mozilla 正则表达式(初学者可以使用此链接了解如何使用正则表达式进行编码)— https://www.regular-expressions.info/tutorial.html
- W3Schools JS 正则表达式教程— https://www.w3schools.com/jsref/jsref_obj_regexp.asp
- Javascript.info 正则表达式 — https://javascript.info/regular-expressions
第 2 步 — 在CodeWars或HackerRank上练习:
一定要立即开始使用正则表达式来解决字符串相关的问题。最好的学习方式是去CodeWars和HackerRank上从头开始。每当我开始学习新东西或需要复习时,我都会在这些网站上创建一个新账户,从头开始学习,这样我总能学到一些新的编程知识。
另外需要注意的是,先用一些你熟悉且对你有帮助的库来解决这些问题会很有帮助。我经常创建一个新的 Repl.it 并在那里解决问题,然后将解决方案粘贴到 HackerRank 或 CodeWars 编辑器中来解决。只需拖放一些用于初始测试的数组或数据,然后在它们上运行你的解决方案即可。其他在线代码编辑器,例如 JS Bin、PlayCode 或 JS Fiddle,也很好用。
以下是一些足够简单、可以使用正则表达式的示例问题:
- CodeWars —请下订单:https://www.codewars.com/kata/your-order-please
- CodeWars — Jaden Casing:https://www.codewars.com/kata/5390bac347d09b7da40006f6
- CodeWars —字符串集合(涉及字符串的问题)_:https ://preview.codewars.com/collections/strings-130
- HackerRank —解决正则表达式(正则表达式问题列表):https://www.hackerrank.com/domains/regex
第 3 步(可选)— 在 YouTube、Udemy 或其他网站上查找视频:
如果你想精通某件事,需要视觉上的刺激或引导,那就看看一些视频来帮助你跟上进度。这只是一个建议,每个人对跟随的人都有自己独特的偏好。赶紧行动起来,搜索一下吧!
第二步:
你已经学习了正则表达式的基础知识,但接下来该怎么做呢?赶紧开始你自己的项目吧!真正学习并记住这些知识的唯一方法就是直接自己创建或构建一些项目,完全不用任何教程或其他人的任何帮助。这才是学习的唯一方法。
以下是针对第一个项目的一些想法:
- 创建正则表达式匹配器——创建一个项目,用于测试字符串上的正则表达式,并高亮显示与你提供的正则表达式完全匹配的字符串。根据你正在评估匹配的字符串,在某个位置给出简单的“成功!”或“失败”提示。
- 创建搜索过滤栏:仅返回与给定字符串输入匹配的数据集。例如Netflix或DisneyPlus。仅返回与您在搜索栏中搜索的内容匹配或相似的视频。有无数种方法可以实现您自己的版本。
有用的工具:
继续练习正则表达式。这里有一些实用的工具和速查表,助你进步!
备忘单:
在您自己的项目和CodeWars或HackerRank中使用 Regex 时,请使用这些:
- 正则表达式教程— Johnny Fox 提供的快速示例速查表:https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285
- 终极正则表达式备忘单— https://www.keycdn.com/support/regex-cheatsheet
练习你的正则表达式:
使用这些正则表达式引擎进行练习。在学习代码之前,先写出正则表达式会很方便。
- Regexr.com — https://regexr.com/
- Regex101.com — https://regex101.com/
希望您能从本文中有所收获。只要记住,如果您在编程或编码方面遇到困难,总有解决方案,您一定可以做到。无论发生什么,都不要放弃,继续成长。每个人都是独一无二的,学习的方式也一样,您只需让学习变得有趣,并根据自己的情况进行调整!
如果您之前使用过正则表达式,或者对这个主题有一些了解,我有几个问题想问您!哪些网站帮助您学习/发展了正则表达式?您参与过的哪些项目也对您有所帮助?请在下方评论区分享,因为我非常想知道,而且我相信其他人也想知道!
保佑
鏂囩珷鏉ユ簮锛�https://dev.to/blakecodez/step-up-your-regex-game-5689