python re模块

re模块包含对于正则表达式的运用的函数。
重点知识:

  1. findall
  2. finditer
  3. search
  4. (?P正则)
  5. group()
import re

test = "我今年18888岁, 有4个爱好"

# # 1.从一个字符串中提取到所有的数字
# lst = re.findall('\d+', test)
# print(lst)

# # 2.判断一句话中是否有数字,搜索数据常用
# # search的特点:匹配字符串,匹配到第一个结果就返回,不会匹配多个结果
# res = re.search('\d+', test)
# print(res.group())
# print(res.group())

# # 3.finditer,所有的数据都会进行匹配,返回迭代器,爬虫常用
# it = re.finditer("\d+", test)
# for item in it:
#     print(item.group())

# # match 匹配,从头开始匹配 ^,主要用于手机号,邮箱号的匹配,得到一个结果就返回
# now = re.match("\d+",test)
# print(now)
#
# now1 = re.match("\d+", "1281jsdd323as")
# print(now1.group())

# 根据数字进行切割
# result = re.split("\d", "1281jsdd323as")
# print(result)
# ['', '', '', '', 'jsdd', '', '', 'as']

# 爬虫必会的一个重点,为了避免转义字符的问题,可以在字符串前面写'r'让字符串不识别转义字符
# 1. () 括起来的内容是最终想要的结果
# 2. (?P<name>正则) 把正则陪陪道德内容直接放在name组里面,后面取数据的时候直接group(name)

# 预编译
obj = re.compile(r"我今年(?P<age>\d+)岁, 有(?P<hobby>\d+)个爱好")
result = obj.finditer("我今年18888岁, 有4个爱好")
for item in result:
    print(item.groupdict())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值