在编程的世界里,正则表达式 (Regex) 短小精悍并且功能强大,就像独孤九剑一般犀利。
这么的强大的一种武技,很多人却没有深入掌握,估计都是和我一样,一开始就被类似这种/^.*?[ ]*(?=\s\\.+?$/
霸气的语句给震住了,然后来一句 What the F*$@! 结束。
现在开始分享我自学的方法:
1. 工具
Rubular: 一个在线测试器,Ruby 语言下的 Regex 版本。(注:Regex 在不同的语言下有不同的版本,不过差别都不大)
RegularExpression101 这个在线测试器是为 JS/python/php 开发者准备的,不过它很适合初学者使用,因为它会对正则表达式的每个部分都给出提示。所以 Ruby 开发者也可以从中学到很多。
2. 书籍
《正则表达式》作者:张子阳
这本书作为入门书籍很合适,对一些概念的解释也很到位。
《精通正则表达式》余晟译(英文原著:《Mastering Regular Expressions》
这本书是正则表达式方面的经典,这本书会让你真正掌握正则表达式。
先将《正则表达式》,将这本书的所有内容跟在测试器中跟做一遍。
再用 4-6 个小时,粗读《精通正则表达式》。
个人不推荐慢慢啃这本书,因为里面的概念很深入,如果没有做过相关的案例,很难理解,还会让你怀疑人生。 建议将这本书当做工具书,当你在使用 Regex 过程中,产生疑问时,你一定会在这本书里找到答案。