Python re 正则表达式

Python re 正则表达式

菜鸟教程:link

import re
x = 'A123fsai?13djsf'
y = '?as3211mkleg+ewrwyi'
pattern = re.compile('\w+',re.I)

# re.match(pattern, string, flags=0) 只检查字符串起始位置
m1 = re.match(pattern, x)
m2 = re.match(pattern, y)
print("m1 = ", m1)
print("m2 = ", m2)
print("-----------------")

# re.search(pattern, string, flags=0) 检查任何位置
s1 = re.search(pattern, x)
s2 = re.search(pattern, y)
print("s1 = ", s1.group())
print("s2 = ", s2)
print("-----------------------------------------------------")

# re.findall(pattern, string, flags=0) 匹配所有字符串 并返回一个表
f1 = re.findall(pattern, x)
f2 = re.findall(pattern, y)
print("f1 = ", f1)
print("f2 = ", f2)
print("-----------------------------------------------------")

# re.finditer(pattern, string, flags=0) 匹配所有字符串 并作为迭代器返回
fi1 = re.finditer(pattern, x)
for F1 in fi1:
    print("F1 = ", F1)
fi2 = re.finditer(pattern, y)
for F2 in fi2:
    print("F2 = ", F2.group())
print("-----------------------------------------------------")


# re.split(pattern, string[, maxsplit=0, flags=0]) # 将字符串分割后 返回列表
sp1 = re.split('1', x, 1)
print("sp1 = ", sp1)
sp2 = re.split('1', x)
print("sp1 = ", sp2)
print("-----------------------------------------------------")

# re.sub(pattern, repl, string, count=0, flags=0) 替换字符串中的匹配项
z = "123456+qwerty"
z1 = re.sub(r'\+\D*', "888", z)
print("z1 = ", z1)
z2 = re.sub(r'\+\D*', "", z)
print("z2 = ", z2)
print("-----------------------------------------------------")


# group()
group = s2.group()
star = s2.start()
end = s2.end()
span = s2.span()
print(group)
print(star)
print(end)
print(span)
print("-----------------------------------------------------")

# groups()
pattern2 = re.compile('(\w+)\+(\w+)')
result = re.search(pattern2, y).groups()
print(result)


# re.I  不区分大小写
# re.S  .匹配除\n 之外的所有单个字符


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值