Ⅰ re模块
①re.findall
正则表达式:由一系列特殊字符拼接而成的表达式\规则,该表达式用于从一个大字符串中匹配出符合规则的子字符串
\w 代表匹配字母数字及下划线
\W 代表匹配非字母数字下划线
\s 代表匹配任意空白字符或[\n\t\r\f]
\S 代表匹配任意非空白字符不包含[\n\t\r\f]
\d 代表匹配任意数字,等价于0-9
\D 代表匹配任意非数字
\A 代表匹配字符串开始
\Z 代表匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串
\z 代表匹配字符串结束
\G 代表匹配最后匹配完成的位置
\n 代表匹配一个换行符
\t 代表匹配一个制表符
^ 代表匹配字符串的开头 \A == ^
$ 代表匹配字符串的末尾 \Z == &
. 代表匹配除了换行符以外的任意单个字符.当re.DOTALL标记被指定时,则可以匹配包括换行符\n在内的任意字符
[...] 代表用来表示一组字符,单独列出:[amk]匹配'a','m'或'k'
[^...] 不在[]中的字符:[^abc]匹配除了a,b,c之外的字符
匹配0个或多个的表达式
- 匹配1个或多个的表达式
? 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式
{n} 精确匹配n个前面的表达式
{n,m}:左边的那个字符出现n次到m次,贪婪方式
? 匹配?左边的字符可以没有,也可以有,但只能有一个
?! 表示没有匹配到字符串的情况下,再进行后续的正则表达式匹配,后续匹配仍然从被匹配字符串的头开始
a|b 匹配a或者b
'a(ab)+123' 匹配引号内的表达式,只显示()内的内容
'a(?:ab)+123' ?:代表取消分组的意思,显示全部
[] 代表匹配一个字符,我们可以指定该字符的范围[a-z] - 代表范围的意思,如果匹配- ,需要将-放在开头或者结尾[a-z-]这样可匹配a到z的任意字母及-
②re.search
只要匹配成功一次就返回
re.search('e','alex make love') 只要找到一个e就会返回一个包含匹配信息的对象,该对象可以通过group()方法得到匹配的字符串,如果没有匹配返回None
③re.complile
该函数根据包含的正则表达式的字符串创建模式对象,可以实现更有效率的匹配,再直接使用字符串表示的正则表达式进行search,match和findall操作时,python会将字符串装换为正则表达式对象.而使用compile完成一次转换之后,再每次使用模式的时候就不用重复转换.当然,使用re.compile()函数进行转换后,re.search的调用方式就转换为pattern,search()的调用方式
④re.search
对整个字符串进行搜素匹配,返回第一个匹配的字符串的match对象
Ⅱ 面向对象编程
面向对象的变编程思想
核心是对象二字,对象是一个用来盛放数据与功能的容器
基于该思想写程序就是在整合程序
优点:可拓展性强
缺点:增加了编程的复杂度
网友评论