python基础学习笔记05-正则表达式与json
2018-01-23 15:48
836 查看
正则表达式
- 在re模块中,使用re.findall(‘正则表达式’,要匹配的值,匹配模式),返回一个列表;参数:匹配模式 可选,如re.I 忽略大小写
- ‘Python’ 普通字符,’\d’ 元字符;可以混合
- re.match()/re.search() 也可以用于正则表达式的匹配
import re a = 'jskfd123hjg34hj521j' r = re.findall('\d',a) print(r) #['1', '2', '3', '3', '4', '5', '2', '1']
正则的贪婪与非贪婪:
加上了 ? 号
import re #贪婪型-尽可能多匹配 a = 'python 213java887php' r = re.findall('[a-z]{3,6}',a) print(r) #['python', 'java', 'php']
import re #非贪婪 a = 'python 213java887php' r = re.findall('[a-z]{3,6}?',a) print(r) #['pyt', 'hon', 'jav', 'php']
‘python*’ ; * 号匹配它**前面那个字符**0或多次
? 0或1次;+ 1次或多次 …..
re.sub(‘AA’,’BB’,str,2) 作用将字符串str中的AA替换成BB,替换2个
re.sub()使用示例:
import re a = 'pythonC#javaC#PHPC#' r = re.sub('C#','GO',a,2) print(r) #pythonGOjavaGOPHPC# ---------- import re a = 'pythonC#javaC#PHPC#' def conver(value): return "AAA" r = re.sub('C#',conver,a) #接收函数作为参数 print(r) #pythonAAAjavaAAAPHPAAA ---------- import re a = 'A39sdsk87239k8' def conver(value): matched = value.group() #注意这里没有使用for循环遍历 if int(matched) >= 6: return '9' else: return '0' r = re.sub('\d',conver,a) print(r) #A09sdsk99009k9 ---------- import re a = 'A39sd873' def conver(value): print(value) #注意打印的value的值 return '9' r = re.sub('\d',conver,a) print(r) """ 运行结果:value是一个object <_sre.SRE_Match object; span=(1, 2), match='3'> <_sre.SRE_Match object; span=(2, 3), match='9'> <_sre.SRE_Match object; span=(5, 6), match='8'> <_sre.SRE_Match object; span=(6, 7), match='7'> <_sre.SRE_Match object; span=(7, 8), match='3'> A99sd999 """ ---------- import re a = 'life is shore,i use python' r = re.findall('life(.*)python',a) print(r) #[' is shore,i use '] r1 = re.search('life(.*)python',a) print(r1.group(1)) # is shore,i use ;此处分组了group(组号) 组号0为原字符串;还有groups()
#JSON—JavaScript Object Notation JavaScript对象标记。是一种轻量级数据交换格式
python的JSON使用示例:
import json json_str = '{"name":"zran","age":12}' #"{....}" 外面使用双引号报错 student = json.loads(json_str) #返回字典、列表类型 print(type(student)) #<class 'dict'> print(student) #{'name': 'zran', 'age': 12} ---------- import json json_str = '[{"name":"zran","age":12,"falge":false},{"name":"llll","age":19}]' #"{....}" 外面使用双引号报错 student = json.loads(json_str) print(type(student)) #<class 'list'> print(student) #[{'name': 'zran', 'age': 12, 'falge': False}, {'name': 'llll', 'age': 19}] #注意json中的bool值是false,python中False
json.dump(python数据) python数据类型转换为json字符串 (反序列化)
相关文章推荐
- Python基础教程 正则表达式 学习笔记
- python基础学习笔记(三) 文件、time和正则表达式
- Python学习笔记--正则表达式,re模块
- 基于python的正则表达式学习笔记
- python 学习笔记 10 -- 正则表达式
- python 学习笔记12-----正则表达式
- Python学习笔记:正则表达式
- Scala学习笔记--正则表达式基础知识、如何在scala内使用
- Python之学习笔记(正则表达式)
- Python学习笔记8:标准库之正则表达式
- 《Javascript高级程序设计》(第2版)学习笔记05--正则表达式
- Python学习笔记(四):面向对象、正则表达式(快速入门篇)
- JavaScript学习笔记(七) JSON和正则表达式字面量
- Python - 正则表达式学习笔记
- Python学习笔记(十):Python正则表达式
- Python学习笔记 ——正则表达式初识
- python 系统学习笔记(十五)---正则表达式
- Python学习笔记 第二部分 - 正则表达式 与 爬虫小实例(抓取豆瓣电影中评分大于等于8分的影片)
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<正则表达式>(三十一)
- python学习笔记4-正则表达式