正则表达式

    一个特殊的字符序列,判断一个字符串是否与其所设定的字符序列相匹配,通常用于检索、替换文本

    可由普通字符和元字符组成

  • 普通字符:如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