前言
正则表达式用于对字符串格式进行检查及筛选操作,其强大的功能能够很好的解决日常对身份证号、手机号或其他输入文本的检查确认。
Python 标准库re模块对正则表达式有很好的支持,其自带了字符匹配的多个函数,同时支持迭代协议。
主要应用的函数如下代码:
import re
# 正则表达式match用法,其会从字符串开头进行匹配,如果不匹配则返回None,反之找到一个匹配后需要调用group()来获取找到的值
print("re.match is: {}".format(re.match(r"\w", "hf").group()))
print("re.match is: {}".format(re.match(r"\w", "<hf").group()) if re.match(r"\w", "<hf") is not None else "No value")
# search 会在字符串中从前向后寻找,直到找到一个匹配值,如果不匹配则返回None,反之找到一个匹配后需要调用group()来获取找到的值
print("re.search is: {}".format(re.search(r"(h|f|\d+s)", "<hf10s").group()))
# findall用于寻找字符串中所有非重复的匹配项并返回一个列表或元组形式的结果
print("re.findall is: {}".format(re.findall(r"(h|f|\d+s)", "<hf10s")))
# finditer用于寻找字符串中所有非重复的匹配项并返回一个迭代器,迭代器以match类型返回
for m_findall in re.finditer(r"(h|f|\d+s)", "<hf10s"):
print("find all value is: {}".format(m_findall.group()))
输出结果:
re.match is: h
No value
re.search is: h
re.findall is: [‘h’, ‘f’, ‘10s’]
find all value is: h
find all value is: f
find all value is: 10s
总结
正则表达式学习可参考 菜鸟教程