python中的re模块
2021/11/3 11:10:13
本文主要是介绍python中的re模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
""" re模块各方法区别 search:若string中包含pattern子串,则返回Match对象,否则返回None,注意,如果string中存在多个pattern子串,只返回第一个 findall:返回string中所有与pattern相匹配的全部字串,返回形式为数组。 finditer:返回string中所有与pattern相匹配的全部字串,返回形式为迭代器。 """ import re # 需要匹配的字符串 string = '12abc45' result = re.search(pattern='abc', string=string) print(result) # 获取匹配到的子字符串 print(result.group()) result = re.search(pattern='2a', string=string) print(result) # .: 匹配任意字符,\n 除外 result = re.search(pattern='.', string=string) print(result) # [7a] 匹配7或者a string = '127bc45' result = re.search(pattern='[7a]', string=string) print(result) string = 'cccc' result = re.search(pattern='\d', string=string) print(result) # *: 匹配某个字符零次->无限次 string = 'a7abc45' result = re.search(pattern='a*', string=string) print(result) # *: 匹配某个字符零次->无限次 # 贪婪模式 vs 非贪婪模式 # Python使用正则表达式:贪婪模式。 string = 'a7abc45' result = re.search(pattern='.*', string=string) print(result) # 启用非贪婪模式? string = 'a7abc45' result = re.search(pattern='.*?', string=string) print(result)
使用例子:
# 需要匹配 #mobile_phone# #pwd# string = '{"member_id":"#pwd#","amount":#money#}' import re # result = re.search('#.*?#', string) # print(result) # 分组 result = re.search('#(.*?)#', string) print(result) # result.group() 正则表达式匹配到的整个结果 print(result.group(0)) # #pwd# # result.group(1) :结果当中第一个括号里面的内容, # result.group(2), 第二个括号里面的内容 print(result.group(1))
封装示例:
string = '{"member_id":"#pwd#","amount":#money#}' class Data: pwd = '123456' money = 100 # 方法一:if # 方法二: 正则表达式 re.search, re.finditer import re result = re.finditer('#(.*?)#', string) for el in result: # el 匹配到的每个数据 # print(el.group()) # print(el.group(1)) # pwd # 字符串替换, replace old = el.group() # #pwd# prop_name = el.group(1) # pwd string = string.replace(old, str(getattr(Data, prop_name)) ) print(string) # 1, getattr() # 2, re.finditer() # 3, .*? # 4, group(), group(1)
这篇关于python中的re模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型