python笔记(2)

正则表达式

用事先定义好的特定字符制定一个规则,对目标字符串进行过滤(检索、截取、替换)

作用

1.给定字符串是否符合正则表达式的过滤逻辑(即匹配)
2.从字符串截取想要的部分
3. 对目标字符串进行替换
###正则表达式的使用 re模块
match方法
re,match尝试从字符串起始位置匹配一个模式,如果不是起始位置匹配成功的话,返回None
re.match(patter,string,flags=0)
pattern:正则表达式,string目标字符串
使用group返回字符串本身
#测试match方法的使用
import re
s = “hello python”
pattern = “hello”
o = re.match(pattern,s)
if o is not None:#加上判断,group方法不会异常
print(“匹配成功的字符串是:{0}”.format(o.group()))#返回匹配的字符串
print(o.span())#返回匹配字符串的范围
print(o.start())#返回起始偏移量
else:
print(“not match”)

#测试flags参数的使用
print(“flag参数的使用”)
s = “hello python”
pattern = “Hello”
o = re.match(pattern,s,flags=re.I)#re.I不区分大小写
print(o)
print(dir())#查看o的属性
print(o.group())#返回匹配的字符串
print(o.span())#返回匹配字符串的范围
print(o.start())#返回起始偏移量
常用的字符
.可以匹配任意字符,除了\n
[]匹配列表中的字符
\w匹配字母、数字、下划线
\W匹配不是字母数字下划线
\s匹配空白字符,即\n,\t
\S匹配不是空白字符
\d匹配数字,即0-9
\D匹配非数字
#常用字符的使用
print("----------.的使用----------")
import re
#s = “a”
#s = “A”
s = “9”
s = “"
s = “\n”#除了\n都可以
pattern = “.”
o = re.match(pattern,s)
print(o)
print("----------\d的使用----------")
s = “0”
s = “A”
#s = “9”
pattern = “\d”
o = re.match(pattern,s)
print(o)
print("----------\D的使用----------")
s = “0”
s = “A”
s = “9”
pattern = “\D”
o = re.match(pattern,s)
print(o)
print("----------\s的使用----------")
s = " "
s = “\n”
s = “\t”
s = " "
s = “t”
pattern = “\s”
o = re.match(pattern,s)
print(o)
print("----------\S的使用----------")
s = " "
#s = “\n”
#s = “\t”
#s = " "
#s = “t”
pattern = “\S”
o = re.match(pattern,s)
print(o)
print("----------\w的使用----------")
s = “a”
s = “A”
s = "

s = " "
s = “8”
pattern = “\w”
o = re.match(pattern,s)
print(o)
print("----------\W的使用----------")
s = “a”
s = “A”
s = “"
s = " - "
#s = “8”
pattern = “\W”
o = re.match(pattern,s)
print(o)
print("----------[]的使用----------")
s = “2”
s = “4”
#s = “a”
#s = “3”
#s = “8”
pattern = ‘[2,4,6,8]’
o = re.match(pattern,s)
print(o)
重复
限定符匹配0次或多次
+匹配一次到多次
?匹配一次或0次
{m} 重复m次
{m,n}重复m 到n次,n可以省略,表示m到任意次
{m,}至少m次
#匹配手机号码
import re
print("-------手机号码------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值