个人随手自学笔记--python3入门及基础知识点(4)—— 正则、josn

本文详细介绍正则表达式的使用方法,包括基本语法、特殊字符、数量词等,并通过实例展示了如何利用Python进行字符串匹配、查找及替换操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式

引入模块:import re

re.findall :第三个参数:re.I   匹配不需要大小写   参数之间用  |   分隔   

re.match:从字符串的首字母开始匹配    一旦匹配到就会停止

re.search:搜索整个字符串   一旦匹配到就会停止

匹配数字:\d    匹配字母:\D     反向匹配:  ^ (ctrl+6)    匹配字母加数字: \w(等同于[A-Za-z0-9_])

匹配类似&非单词字符(包括空格 、\n、\t) : \W      匹配空白字符: \s    

匹配除换行符\n之外其他所有字符: . (点符号)


数量词(多次重复的匹配): {数字,数字}   例子:[a-z]{3,8}

号  匹配0次或者无限多次     + 号 匹配1次或者无限多次          匹配0次或者1次


贪婪 于 非贪婪    python倾向于贪婪模式的匹配      改变为非贪婪模式符号:?(前边需要加上数量词范围 类似{3,8}?)


边界符:^从字符串的开始匹配    $从字符串的末尾开始匹配   例子:'^\d{4,8}$'


组:将要匹配的字符用括号扩起来  例子:'(python){3}'   括号内的为且关系


re.sub 函数:字符串替换    第四个参数:count=0(匹配后所能被替换最大的次数)  简化版:replace

第二个参数 可以传一个函数


group分组:适用于re.search


JSON——一种轻量级的数据交换格式,表现形式--字符串

优势:易于阅读  易于解析  网络传输效率高   跨语言交换数据

反序列化:json.loads     序列化  :  json.dumps


### Python 中 JSON 的基础用法 #### 什么是 JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它是基于 JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999 的一个子集。 在 Python 中,`json` 模块提供了将 Python 对象与 JSON 数据之间相互转换的功能[^1]。 --- #### 基本概念:Python 和 JSON 类型映射 以下是 Python 数据类型与其对应的 JSON 数据类型的对照表: | **Python 类型** | **JSON 类型** | |------------------|---------------| | `dict` | `object` | | `list`, `tuple` | `array` | | `str` | `string` | | `int`, `float` | `number` | | `True` | `true` | | `False` | `false` | | `None` | `null` | 这种映射关系使得我们可以轻松地在两种数据格式间进行转换[^1]。 --- #### 将 Python 对象转为 JSON 字符串 (`dumps`) 要将 Python 对象(如字典或列表)转换成 JSON 格式的字符串,可以使用 `json.dumps()` 方法。此方法支持可选参数来美化输出,例如缩进和排序键值对。 ```python import json data = { "name": "Alice", "age": 25, "is_student": False, "courses": ["Math", "Science"], "address": None } # 转换为 JSON 字符串,默认无格式化 json_str = json.dumps(data) print(json_str) # 输出紧凑版的 JSON 字符串 # 使用 indent 参数实现漂亮打印 pretty_json_str = json.dumps(data, indent=4, sort_keys=True) print(pretty_json_str) # 输出带有缩进和按键排序的 JSON 字符串 ``` 通过设置 `indent` 参数,可以让输出更加易读;而 `sort_keys=True` 则会按照字母顺序排列键值对[^2]。 --- #### 将 JSON 字符串转为 Python 对象 (`loads`) 如果有一个 JSON 格式的字符串,可以通过 `json.loads()` 方法将其解码为相应的 Python 数据结构。 ```python import json json_string = '{"name": "Bob", "age": 30, "hobbies": ["reading", "traveling"]}' # 解析 JSON 字符串为 Python 字典 parsed_data = json.loads(json_string) print(parsed_data["name"]) # 访问解析后的数据 ``` 这一步骤通常用于接收来自网络或其他外部源的 JSON 数据并进一步处理[^3]。 --- #### 写入 JSON 文件 (`dump`) 当需要保存 Python 数据到文件中作为 JSON 格式存储时,可以利用 `json.dump()` 函数完成操作。 ```python import json person = {"name": "Charlie", "age": 28, "city": "Shanghai"} with open("output.json", "w") as file: json.dump(person, file, ensure_ascii=False, indent=4) ``` 这里设置了 `ensure_ascii=False` 来确保非 ASCII 字符能够被正确写入文件中,而不是以 Unicode 编码形式表示[^1]。 --- #### 从 JSON 文件加载数据 (`load`) 同样也可以从已有的 JSON 文件里提取数据回传至程序内部供后续逻辑调用。 ```python import json with open("input.json", "r") as file: data_from_file = json.load(file) print(data_from_file["city"]) ``` 这段代码展示了如何打开本地磁盘上的 JSON 文件并将其中的内容反序列化成为 Python 可理解的形式[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一捧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值