查看原文
其他

Python中的正则表达式 | 行业论坛第5讲笔记

2015-05-08 Scalers ScalersTalk成长持续论

Scalers点评:53日晚上,成长会行业论坛第5讲举行。小龙与大家分享了Python中的正则表达式以及Python语言的一些基础情况。成长会的成员有很多有意思的地方,比如有一部分是英语相关专业从业者,有一部分是IT从业者,比如S君。当两个不同领域的人交织在一起碰撞玩耍的时候,会产生什么样的火花。其实第5讲就是一次试探,由于我一直是多领域学习行动的倡导者,强调成长会的成员打开视野,消除偏见。上周日晚上,尽管是一个技术型的报告,但是有许多英语专业的同学,仍然坚持听完并且记录笔记。同时,我也相信正则表达式能给文字工作者,带来较大的效率提升。以下是小龙的整理和复盘。

一、WordTXT

1、用图片展示Word中的查找(Ctrl+f)与替换(Ctrl+h)功能,在“更多”选项里有区分大小写、查找单词的所有形式等高级选项,可完成稍微高级点儿的查找替换任务。(正则的一个应用)

2、提供一个应用场景

PDF内容拷贝到Word中时,PDF的页码会和当前页的最后一个单词连在一起,就像这样respect.1...book.2...schools.3....,遇到这种问题要怎么处理?

Word的查找替换起不了多大作用)

两种处理办法:

a. 挨个查找,逐个修改;(费时、效率低)

b. 写个正则的程序来处理。(引出正则)

3、引用例子揭示记事本的不足,推荐使用Notepad++纯文本编辑器来打开TXT文档,它有一些高级的查找替换功能。当然,最最高级的还是程序……

4、

二、正则表达式的概念及应用

1、用到的几个术语:字符串、匹配、模块

2、正则表达式的概念

3、常见的应用

a. 各大网站的验证

b. 工具中的使用

c. 程序(爬虫等)

三、正则表达式的基础用法

1、大多数字母和字符可以匹配它们自身

2、元字符(特殊含义的字符),并一一解释了其含义

3、贪婪匹配(尽可能多的匹配)和非贪婪匹配(尽可能少的匹配)的匹配步骤

4、应用:对手机号正则表达式的解析

四、Python的相关介绍

1、特性:简介、功能强大

2、起源:奇葩的诞生与命名

五、Python中正则的使用

1、Python中字符串的反斜杠问题引出原始字符串

2、Python的正则中常用的俩个方法:查找功能的findall方法、查找与替换功能的sub方法

3、Python的正则中常用到的两个标志(flags):re.M(多行)与re.I(忽略大小写)

4、稍微高级点的用法:分组和反向引用

5、解决PDF拷贝到Word中的页码问题,并对用到的正则进行剖析

六、高级用法

1预览

a. \b \B\A\Z

b. 分组、反向引用、命名组、非捕获组

c. 向前断言、向后断言

d. 模式内嵌修正器、条件匹配

e. 字符串查找替换、匹配结果的操作

2、加入Coding小组进行讨论

七、问答

1、python就是用来在你选的素材里找出想要的或者改变里面的数据嘛?

Python是一门功能非常强大的编程语言,Python中正则的使用可以用来处理选定的素材,对其进行筛选或替换等操作。

2、正则表达式不分语言吧?规则都类似吧?

是的,正则表达式的基本规则是类似的。但是,不用的语言中对正则又有一些新的定义,例如Python中的命名组(在扩展阅读中)。掌握了一门语言中的正则后,其他语言中的也能很快的理解并掌握。

八、致谢与感悟

1、非常感谢S君、喵叔、shadowhemon在试讲结束后提出的宝贵建议。

2、非常非常感谢S君在分享的时候对每张PPT做的详尽剖析,使小伙伴们能更好的理解。

3、当要输出的时候才知输入的有多匮乏,输出倒逼输入,不愧为“讲讲讲”的真谛。

4、真正的掌握是什么?是可以把知道的东西讲出来,而不仅仅是“我知道,我了解”。这就需要总结和复盘了



本文原文在http://scalerstalk.com/491-lec05-summary,首发ScalersTalk



=========

本文作者Scalers,游走在口译世界的IT从业者。微信公众号ScalersTalk,网站ScalersTalk.com

如需要转载请联系授权,否则将被公开谴责并追究法律责任。


ScalersTalk成长会回复“VIP”查看.口译100小时训练计划群B 433686569


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存