发表于: 2017-10-22 20:53:21
3 637
今天完成的事情:
今天什么别的没干,就准备小课堂了,把简书的总结贴一下
一、背景介绍
发明BSD、TCP/IP、csh、vi和NFS的SUN首席科学家Bill Joy说过,在计算机体系结构领域里,缓存是唯一称得上伟大的思想的。其他的一切发明和技术不过是在不同场景下应用这一思想而已。在计算机软件领域里,情形也大体相似。如果罗列这个领域的伟大发明,绝对不超过二十项。这些包括分组交换网络、WEB、lisp、哈希算法、UNIX、编译技术、关系模型、面向对象、XML这些大名鼎鼎的家伙,而正则表达式绝对不应该被漏掉。
如今正则表达式已经成为几乎所有语言中的必备元素:JAVA、Perl、Python、PHP、Ruby————我们要问的不是什么语言支持正则表达式,而是什么语言不支持正则表达式。而一些功能强大的编辑器如notepad++、sublime 、Atom也全都支持正则表达式。正则表达式究竟能干什么呢?为什么会有那么大的魅力?我们往下看
二、知识剖析
元字符:起匹配、标记作用的特殊字符
匹配:将符合的结果返回,相当于return ...
标记:将符合的结果作为条件,相遇if(...)
"\b" 标记的单词的开头和结尾,即是空格、逗号、句号等符号
"\d" 匹配的是[0-9]的任一个数字
"{}" "X{3}"表示匹配连续的3个X
“.” 匹配的是除了换行符“\n”的任意一个字符
"*" "X*"可以表示0个或无数个X
“\s” 表示匹配一个空格
"\S" 表示匹配一个不是空格的任意字符
零宽断言(标记类型,不返回结果)
(?=check) “X(?=check)”如果X后面跟着check,则匹配X()
(?<=check) "(?<=check)X"如果X前面有check,则匹配X
注:check可以是任何你写的出的东西
三、常见问题
1.读不懂,也不想读正则表达式怎么办?
2.正则表达式的标准并不统一,JAVA上能用的Python并不一定能用,怎么办?
四、解决方案
1.读不懂,也不想读正则表达式怎么办?
普通人有三件东西看不懂:医生的处方,道士的鬼符,程序员的正则表达式
哪怕是一个精通正则表达式的人要读懂一大段正则表达式也很费力,因为正则表达式是只写的(write-only)。很多时候,写完三分钟,立马就不读懂了
但是——非要读不可的话,可以使用可视化工具
https://www.debuggex.com/
刚才演示用的神器————RegexBuddy
2.正则表达式的标准并不统一,JAVA上能用的Python并不一定能用,怎么办?
神器regexBuddy再次出场!具有不同语言间的正则表达式互相转换功能,甚至还能帮你直接把实现正则表达式的代码写出来!
七、参考文献
1.博客http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html
2.《精通正则表达式》
明天计划的事情:
终于可以做任务啦!明天测试七牛云、金山云的上传,能干完的话就开始测试文件迁移
遇到的问题:
准备小课堂,没遇到什么问题
收获:
今天在6点试着讲了一遍,然后7点再正式开始小课堂
虽然讲的不是很好,但总感觉有进步了,以后要干这种当众讲话的事情可以先讲一遍两遍,来发现自己有哪些不足,底气也足些
进度:
任务7开始时间:2017.10.18
预计demo时间:2017.10.26
延期风险:有
理由:准备小课堂花的时间多了一些,不知道迁移服务器和编写上传代码有没有什么困难
禅道
http://task.ptteng.com/zentao/project-task-350.html
评论