【Python】三、正则表达式与JSON
正则表达式
一个特殊的字符序列,判断一个字符串是否与其所设定的字符序列相匹配,通常用于检索、替换文本
可由普通字符和元字符组成
- 普通字符:如
Python、Java这样的具体字符 - 元字符:如
\d、\w、^这样的抽象字符
字符集
-
用
[]框出需要匹配的所有项,出现在[]内的字符为或关系 -
在开头加
^代表匹配除[]内的所有字符 -
取某一范围内用
-连接起始
概括字符集
\d等价于[0-9]\D等价于[^0-9]\w概括所有数字+字母+下划线,等价于[A-Za-z0-9_]\W表示非单词字符
数量词
- 在
[]后面加{} - 花括号内的数字代表匹配的字符数
- 表示一定范围时用
,分隔上下界
贪婪与非贪婪
- 默认为贪婪,尽可能寻找最大的字符串
- 非贪婪在后面加
?
0次,1次和无限多次
*前一个字符匹配零次或多次+前一个字符匹配一次或多次?前一个字符匹配零次或一次
边界匹配符
- 从字符串开始匹配
^,从字符串结尾匹配$
组
- 用
()括起的内容为一组,组内所有字符串共同操作 - 组为且关系
匹配模式参数
re.I忽略大小写re.S使.匹配包括换行在内的所有字符- 用
|连接
未完...
JSON
JavaScript Object Notation
- 是轻量级的数据交换格式
- 字符串是JSON的表现形式
JSON vs. XML
JSON--易于阅读、易于解析、网络传输效率高、适合跨语言交换数据
反序列化
JSON字符串可以在语言中找到相应的数据结构,在Python中会被解析成字典(反序列化)
import json
json_str = '{"name":"LGH","age":18,"flags":false}'
student = json.loads(json_str)
print(student)
print(type(student)) #dict
JSON数据类型与Python数据类型对应表
| JSON | Python |
|---|---|
| object | dict |
| array | list |
| string | str |
| number | int |
| number | float |
| true | True |
| false | False |
| null | None |
序列化
将Python的数据类型转换为JSON
import json
student = [{"name": "LGH", "age": 18, "flags": False},
{"sex": "male", "school": "NJUPT"}
]
json_str = json.dumps(student)
print(json_str)
print(type(json_str)) #str

浙公网安备 33010602011771号