Python中的正则表达式与数据数据交换格式
一、初识正则表达式
正则表达式是一个特殊的字符序列,一个字符串是否与我们所设定的这样的字符序列,相匹配快速检索文本、实现替换文本的操作
json(xml)轻量级网数据交换格式
导入rea=' C | C | Java | c# | | Python | Javascript ' r=re。findall(' Python ',a)print(r)if len(r) 0: print('字符串中包含Python')else:打印('否)['Python']字符串中包含计算机编程语言二、元字符与普通字符
导入rea=' C0C 7 java8c # 9 python 6 JavaScript ' r=re。findall(' d ' \ a),打印(r)b=' a :尝试: int(x)b=x '中的x, passprint(b)除外结果:
['0', '7', '8', '9', '6']0,7,8,9,6,
“蟒蛇”普通字符\d '元字符
三、字符集
导入re#找出中间一个字符不是C和F的单词s='abc,acc,adc,aec,afc,ahc ' r=re.findall('a[^cf]c',s)#[a-z][cf]打印(r)结果:
[“ABC”、“adc”、“aec”、“ahc”]
四、概括字符集
#\d数字\D字母#\w数字和字母=[a-zA-Z0-9_] \W #\s空白字符\ Sa=' python 11 \ t11 Java 678 p \ NH \ RP ' r=re。查找所有(' s ',a)打印(r)结果:
[' ',' \t ',' \n ',' \r']
五、数量词
a=' python 1111 Java 678 PHP ' r=re。findall('[a-z]{ 3,6} ',a)print(r)结果:
[“python”、“java”、“PHP”]
六、贪婪与非贪婪
a=' python 1111 Java 678 PHP ' r=re。全部查找('[a-z]{ 3,6}?a)#贪婪与非贪婪?打印(r)结果:
[“pyt”、“hon”、“jav”、“PHP”]
七、匹配0次一次或者无限多次
# * 匹配0次或者无限多次# 匹配一次或者无限多次# ?匹配0次或者一次a=' python 0 python 1 python 2 typhonw ' r=re。findall(' python * ',a)print(r)结果:
['蟒蛇','蟒蛇','蟒蛇','蟒蛇'
八、边界匹配符
QQ=' 12345678 ' # 4 ~ 8 r=re.findall('^\d{4,8}$',qq)print(r)a=' 123456789 ' # 4 ~ 8 ^规则$开头$结尾e=re.findall('^\d{4,8}$',a)印刷品(e)结果:
['12345678'][]
九、组
# () 组a=' python typhoontyphoonython ' # r=re。findall('(python){ 3 } ',a)print(r)结果:
['python']代表存在一组(pythonpythonpython)这样的数据
十、匹配模式参数
# I | S忽略大小写|匹配所有字符lanu age=' PYTHonC # \ NJAVAPhp ' r=re。全部查找(' c #).{1} ',lanuage,re .我| re .打印结果:
['C#\n']
十一、re.sub正则替换
搜索替换
def convert(value):匹配=value。group()# print(value)_ sre .SRE _匹配对象;span=(6,8),match='C#' return '!'匹配!lanuage=' PitOnc # JavaC # PHPC # ' # r=re。sub(' C # ',' GO ',lanuage,1)返回结果:python ojavac # PHPC # # s=lanuage。替换(' C # ',' GO ')r=re sub(' C # ',convert,lanuage) #传入参数打印(r)结果:
Python!C#!Java!C#!PHP!C#!
十二、把函数作为参数传递
def convert(value):匹配=value。群组()#拿到对象的值# print(value) _sre .SRE _匹配对象;span=(6,8),match=' c# ' if int(matched)=6 : return ' 9 ' else : return ' 0 ' lanu age=' a8c 3721d 86 ' r=re。sub(' \ d ',convert,lanuage)print(r)#A9C0900D99十三、搜索与比赛函数
s='A8C3721D86'#无从开头开始匹配假如没有找到相应的匹配结果返回没有人只匹配一次r=重新匹配(' \d ',s)打印(r)#无#搜索这个字符串一旦找到第一个满足匹配的结果就返回只匹配一次r1=re.search('\d ',s)print(r1) #_sre .SRE _匹配对象;span=(1,2),match=' 8 ' print(R1。组())# 8打印(R1。span())#(1,2)r2=re.findall('\d ',s)print(r2) #['8 ',' 3 ',' 7 ',' 2 ',' 1 ',' 8 ',' 6']十四、团体分组
#提取生命与python之间的价值s='生命短暂,我用python' # noner=re.search ('life。* python,s) print (r.group ()) #人生苦短,我用python group(组号)r=re.search ('life(。*) python,s) print (r.group (0)) #生命短暂,我用python group(group number)print(r . group(1))#短暂,我用#group(0)一个特例匹配正则表达式r=re的完整结果。findall ('life(。*) python,s) print (r) # ['很短,我用'] s='生命很短,我用python,我爱python'r=re.search('life(。*)python(。*)python,s)print(r.group(0)) #生命短暂,我用python,我爱python print(r.group(1)) #短暂,我用print(r.group(2)) #,我爱print(r.group(0,1,2)) #('生命短暂,我用python,我爱python ','短暂,我用',',我爱')print(r . group())#('短暂,我用',',我爱')XV。关于学习规律的几点建议
#\d数字\d字母#\w数字和字母=[a-zA-Z0-9_] \W #\s空白字符\S#。匹配除新行字符以外的所有字符\n # *匹配0次或无限多次#匹配1次或无限多次#?匹配0或1时间#()组# I | S忽略大小写|匹配所有字符python: crawler,数据处理
十六.理解JSON
JSON是一种轻量级的数据交换格式
字符串是JSON的表示形式
符合JSON格式的字符串称为JSON字符串
{'name':'qiyue'}
JSON VS XML
优点:
跨语言交换数据
易于阅读
易于解析
网络传输效率
十七.反序列化
导入json# JSON对象array JSON _ str=' { ' name ' : ' qiyue ',Age ' :18 } ' s=json。Loads (JSON _ STR) # dict #反序列化s=json.loads(json_str) #load()将JSON的数据类型转换为我们自己语言print (type (s))的数据类型# class ' dict ' print(s)# { ' name ' : ' qiyue ',' Age ' : 18 } print(s[' name '])# qiyuejson _ STR='[{ ' name ' : ' qiyue ',' age': 18 '序列化
#序列化为JSON student=[{ ' name ' : ' qiyue ',' age' :18,' flag' : false},{'name' :' python ',' age ' :18 }]JSON _ str=JSON . dumps(student)print(type(JSON _ str))# class ' str ' print(JSON _ str)#[{ ' name ' 3360 ' qiyue ',' age':18,flag' :谈论JSON、JSON对象和JSON字符串
JSON是一种轻量级的数据交换格式
JSON对象仅限于语言
JSON字符串
JSON有自己的数据类型
虽然它有点类似于JavaScript的数据类型,但它们不是一种语言
ECMASCRIPT是一个标准的JavaScript ActionScription JSON,是实现这个标准的一个方案
休息服务
摘要
以上是边肖介绍的Python中的正则表达式和JSON数据交换格式。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!如果你觉得这篇文章对你有帮助,请转载,请注明出处,谢谢!
版权声明:Python中的正则表达式与数据数据交换格式是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。