python笔记-正则表达式

这篇笔记详细介绍了Python中正则表达式的使用,包括通配符、正则表达式的逻辑和方法、特殊字符类的应用。讲解了如何匹配IP地址,控制字符出现次数,并展示了如何在正则表达式中处理需要转义的字符。此外,还涉及到爬虫实战,如获取贴吧总页数和批量爬取贴吧图片的方法。
摘要由CSDN通过智能技术生成

通配符的使用

* : 0个到无穷多个任意字符
? :一个必定存在的任意字符
. :当前路径
.. :上一级路径
[0-9]:0到9所有数字
[a-z]:a到z所有小写字母
[A-Z]:A到Z所有大写字母
[a-zA-Z]:所有字母

官方参考代码:

>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']
>>> glob.glob('**/*.txt', recursive=True)
['2.txt', 'sub/3.txt']
>>> glob.glob('./**/', recursive=True)
['./', './sub/']


>>> import glob
>>> glob.glob('*.gif')
['card.gif']
>>> glob.glob('.c*')
['.card.gif']

正则表达式常用逻辑及方法

#     re: regular experssion ==== 正则表达式

# 作用: 对于字符串进行处理, 会检查这个字符串内容是否与你写的正则表达式匹配,
        如果匹配, 拿出匹配的内容;
        如果不匹配, 忽略不匹配内容;
        
#  学习正则的规则:

import re

s = "kiosk/home/kiosk/westosanaconda2/envs/blog/bin/python3.6/home/kiosk/Desktop/day25"
# s.find('westos')

# ***************************findall方法********************************
# 1. 编写正则的规则
pattern1 = r'westos'
pattern2 = r'kiosk'

# 2. 通过正则去查找匹配的内容
print(re.findall(pattern1, s))
print(re.findall(pattern2, s))

# ************************match********************************
#   match尝试从字符串的起始位置开始匹配,
#       - 如果起始位置没有匹配成功, 返回一个None;
#       - 如果起始位置匹配成功, 返回一个对象;
print(re.match(pattern1, s))
matchObj = re.match(pattern2, s)
# 返回match匹配的字符串内容;
print(matchObj.group())

# **********************search**********************
#  search会扫描整个字符串, 只返回第一个匹配成功的内容;
#       - 如果能找到, 返回一个对象, 通过group方法获取对应的字符串;
match1Obj = re.search(pattern1, s)
print(match1Obj.group())
match2Obj = re.search(pattern2, s)
print(match2Obj.group())

正则表达式特殊字符类

字符匹配:
  r'westos'
字符类:
[pP]ython
westos[pP]
[aeiou]
[a-z]
[A-Z]
[a-zA-Z0-9]
[^aeiou]
[^0-9]
特殊字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值