正则表达式
一.浅拷贝和深拷贝
-
模块:import copy
-
记住结论即可,多练习
-
拷贝成功:生成了新的内存地址,证明拷贝成功了
-
拷贝引用:不会生成新的内存地址,只会拷贝引用
1.浅拷贝:
-
语法:copy.copy()
-
浅拷贝最多拷贝对象的一层
结论1:浅拷贝,拷贝不可变类型,拷贝引用
结论2:浅拷贝,拷贝可变类型,拷贝成功
2.深拷贝:
-
语法copy.deepcopy()
-
深拷贝可能拷贝对象的多层
结论3:深拷贝,拷贝不可变类型,拷贝引用
特殊结论1:但是,只要子元素中包含了可变类型,就会对每一层开辟新的内存地址进行拷贝
结论4:深拷贝,拷贝可变类型,拷贝成功
特殊结论2:但是,子元素中包含的不可变类型,这一层不会开辟新的内存地址
二.正则表达式regular expression
1.概念:
- 模块:import re
- 又称为规则表达式;是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑
2.语法格式:
# 1.导包
import re
# 2.匹配数据
data = re.match('规则字符串', '要匹配的字符串')
# 3.提取数据
print(data.group())
3.三种方法:
-
match方法
- 从第一个元素开始查找,匹配成功就返回
- 匹配失败,返回NONE,并且会报错
-
search方法
- 在字符串中从左到右查找,返回第一个匹配成功的数据
- 匹配失败,返回NONE,并且会报错
-
findall方法
- 在字符串中查找所有匹配成功的数据,可以获取多个数据,使用 列表 存储
- 直接打印data查看数据
- 匹配失败,返回空列表,不会报错
4.匹配单个字符
5.匹配多个字符
6.匹配开头和结尾
- [^指定字符] : 表示除了指定字符以外都匹配