正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

常用元字符:
在这里插入图片描述
在这里插入图片描述
re常用方法:
在这里插入图片描述
引入正则模块

import re

1.普通字符作为原子

#1.普通字符作为原子
pattern1 = 'python' #规则
string1 = 'R python hello world python java c'
print(re.search(pattern1,string1))#返回第一次匹配的对象及下标

输出结果为:
在这里插入图片描述
2.非打印字符作为原子(比如换行符)

pattern2 = '\n'#匹配换行符
string2 = '''
www.qq.com
www.baidu.com
'''
print(re.findall(pattern2,string2))

输出结果为:
在这里插入图片描述
3.通用字符作为原子

pattern3 = 'p\w' #规则,匹配以p开头的两个字符串,“\w”代表一个字母或数字或下划线
string3 = 'R python hello world python java c'
print(re.findall(pattern3,string3))

输出结果为:
在这里插入图片描述

pattern3 = 'p\w' #规则,匹配以p开头的两个字符串,“\w”代表一个字母或数字或下划线
string3 = 'R python hello world python java c'
#替换
print(re.sub(pattern3,'PY',string3))#用“PY”替换string3中以pattern3规则查找的字符,返回替换后的string3

输出结果为:
在这里插入图片描述
4.元字符

pattern4 = 'p\w{5}'#匹配5次'\w',pattern4需是不少于6个字母
string4 = 'R python hello world python aa pllp12y java c'
print(re.findall(pattern4,string4))

输出结果为:
在这里插入图片描述

pattern4 = 'p\w{5}'#匹配5次'\w',pattern4需是不少于6个字母
string4 = 'R python hello world python aa pllp12y java c'
#切割
print(re.split(pattern4,string4))

输出结果为:
在这里插入图片描述
5.实例:手机号码的验证

num=input('请输入您的手机号:')
pattern5 = re.compile(r'1[3456789]\d{9}$')
result = re.match(pattern5,num)
if result:
    print('您的手机号是:',result.group())#group()匹配的内容
else:
    print('您的手机号不合法,请重新输入')

输出结果为:
在这里插入图片描述
在这里插入图片描述

6.实例:验证邮箱

em=input('请输入您的邮箱:')
pattern6 = re.compile('\w+@\w+\.com|cn$')
result = re.match(pattern6,em)
if result:
    print('您的邮箱是:',result.group())#group()匹配的内容
else:
    print('您的邮箱不合法,请重新输入')

输出结果为:
在这里插入图片描述
在这里插入图片描述
7.文本提取

with open('text.txt',encoding='utf8') as f:
    data = f.read()
pattern7 = '\d+\.\d+'
result = re.findall(pattern7,data)
print(result)

输出结果为:
在这里插入图片描述
其中text.txt的文档为下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值