第二十四天
1.主题:复习python—正则表达式
菜鸟教程
http://www.runoob.com/python3/python3-reg-expressions.html
正则表达式30分钟入门教程
http://deerchao.net/tutorials/regex/regex.htm
优酷视频:正则表达式入门
http://v.youku.com/v_show/id_XMTU3NzE2NDQyNA==.html?spm=a2h0j.8191423.playlist_content.5~5~5~A&&f=27302664&from=y1.2-3.4.1
2.摘要
a.字典的生成方法两种
In [9]: k = [1, 2, 3]
In [10]: v = ['water', 'flour', 'river']
In [11]: d = {x[0] : x[1] for x in zip(k, v)} #法1 由列表生成
In [12]: d
Out[12]: {1: 'water', 2: 'flour', 3: 'river'}
In [13]: d2 = {(i, i ** 2) for i in range(1, 5)}
In [14]: d2
Out[14]: {(1, 1), (2, 4), (3, 9), (4, 16)} #法2 由generator生成
b.分组group
1.使用括号()进行分组,便于后期re.match进行搜索匹配;
2.命名格式:(?<groupname>exp)
3.不捕获文本:(?:exp)
4.贪婪.*==最长匹配
5.懒惰.[* + ? {n, m} {n, }]?==最短匹配,以?结尾
6.零宽断言就是0个宽度,仅仅指示位置而已,指出此位置满足则为起点或终点,之后或之前,方才开始走匹配程序,这就是‘’断言;
3.心得感悟
A.正则表达式的核心功能:模糊匹配,精确查找!
类似于文曲星电子词典查单词时输入?或※号一样。
对批量文本数据的规律捕捉。
B.自己归纳的草稿:正则表达式元字符的大体分类
1.数字== \d , [0-9]
2.字母== [a-zA-Z]
3.重复== ※,?,{n} , {n, } , {m, n} , +? , ※? ,
4.位置== ^ , $ ,
4.格式== \ , re.I , re.M ,
5.条件== [ ] , | ,
C.我的解读
. == 匹配任意字母、数字、下划线、空格、标点符号以及各种符号;—>通吃天下各家!!
\w ==匹配任意字母、数字、下划线,其他均不匹配; —>眼里只有三大家!!
\s ==匹配空格键与换行符; —> 只认两大家!!
\d ==匹配数字; —>只认数字一家!!
\b ==限定单词首尾,加在开始表示起始,加在尾部表示结束;
\W \S \D \B==作用与上述小写时正好相反; —>反作用
[^x] ==匹配x之外的任意字符;
\ == 转义字符,\.查找. ,\?查找?,\*查找* —>将特殊符号打回原形!!
D.配合在线正则表达式测试网站学习,太棒了!!推荐这个:
http://tool.chinaz.com/regex/
4.时间统计
昨日阅读5小时,累计225小时
|