新python day 21 re模块与面向对象编程

正则表达式:由一系列特殊字符拼接而成的表达式/规则,该表达式用于从一个大字符串中匹配符合规则的字符串

import re
#\w 匹配字母数字及下划线
print(re.findall('\w\w\w','h ello 123_(0")'))#一个\w站一个位置

#\W (大写w匹配非字母数字下划线
#\s  匹配任意空白字符,等价于[\t\n\r\f]
#\S  匹配任意非空字符
#\d匹配任意数字,等价于[0-9]
#\D匹配任意非数字
#\A匹配字符串开始
#\Z匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串
#\z匹配字符串结束
#\G匹配最后匹配完成的位置
#\n匹配一个换行符
#\t匹配一个制表符
^匹配字符串的开头
print(re.findall('^egon','egon asdf 1231 egonjaejroaejrdegon'))

$匹配字符串的末尾
print(re.findall('egon$','egon egon asdf 1231 egonjaejroaejrdegon' ))
.匹配任意字符,除了换行符,党re.DOTALL标记被指定是,则可以匹配包括换行符的任意字符
[...]用来表示一组字符,单独列出:[amk]匹配'a','m''k'
[^...]不在[]中的字符:[^abc]
匹配除了a,b,c之外的字符
*匹配0个或多个的表达式
+匹配1个或多个的表达式
?匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式
{n}精确匹配n个前面表达式
{n,m}匹配n到m次由前面的正则表达式定义的片段,贪婪方式
a|b匹配a或b
()匹配括号内的表达式
 print(re.findall('ab+','ababab123')) #['ab', 'ab', 'ab']
# print(re.findall('(ab)+123','ababab123')) #['ab'],匹配到末尾的ab123中的ab
# ababab123
#(ab)(ab)(ab)(ab)

#取消分组
print(re.findall('(f:ab)+123','ababab123'))
#findall的结果不是匹配的全部内容,而是组内的内容,?:可以让结果为匹配的全部内容

print(re.findall('a\\\\c','a\c a1c aac')) #对于正则来说a\\c确实可以匹配到a\c,但是在python解释器读取a\\c时,会发生转义,然后交给re去执行,所以抛出异常
print(re.findall(r'a\\c','a\c a1c aac')) #对于正则来说a\\c确实可以匹配到a\c,但是在python解释器读取a\\c时,会发生转义,然后交给re去执行,所以抛出异常


面向对象编程:

​ 核心是对象二字,对象是一个用来盛放数据与功能的容器

​ 基于该思想写程序就是在整合程序
​ 优点:可扩展性强

​ 缺点:编程的复杂度高

(与面向过程编程相反,也是相辅相成的)

def choose_course():
	print('===>'){"name":"egn","age":18,"choose":choose_course}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值