前言
在日常数据处理过程,拿到一段文字,进行关键信息的提取.总而言之,翻来覆去地用到几种处理方法.这些都需要用到正则去进行通用处理.比如提取关键信息,诸如时间,日期,地址等.
那么我们要根据关键信息的特征去提取.
函数方法
# 匹配
re.match(pattern, string, flags=0)
# 查找 单个
re.search(pattern, string, flags=0)
# 替换
re.sub(pattern, repl, string, count=0, flags=0)
# 查找 多个 返回列表
re.findall(pattern, string, flags=0) pattern.findall(string[, pos[, endpos]])
# 查找 多个 返回迭代器
re.finditer(pattern, string, flags=0)
# 拆分
re.split(pattern, string[, maxsplit=0, flags=0])
提取内容
- 数字提取:可以用正则表达式来提取数字,包括整数、浮点数等。
- 日期和时间提取:可以用正则表达式来提取日期、时间等。
- URL 提取:可以用正则表达式从字符串中提取 URL 地址。
- 邮件地址提取:可以用正则表达式从字符串中提取邮件地址。
- IP 地址提取:可以用正则表达式从字符串中提取 IP 地址。
- HTML 标签提取:可以用正则表达式从字符串中提取 HTML 标签。
- 手机号码提取:可以用正则表达式从字符串中提取手机号码。
- 邮政编码提取:可以用正则表达式从字符串中提取邮政编码。
- 特定格式的文本提取:可以用正则表达式从字符串中提取特定格式的文本,如身份证号码、车牌号码等。
- 公司简称和股票代码
应用场景
数字提取:可以用正则表达式来提取数字,包括整数、浮点数等。
所有数值
import re
text = "去商店买了3个苹果, 2斤香蕉, 共计12.45元."
# 匹配浮点数的正则表达式
pattern = r'\d+\.\d+|\d+'
match = re.findall(pattern, text)
if match:
print(match) # ['3', '2', '12.45']
else:
print("未找到数值")
</