正则表达式练习2

import re

#分组
#匹配数字0-100数字
# n='09'
# result=re.match('[1-9]?\d',n)
# print(result)

#(word|word|word) 区别[abc]表示的是一个字母而不是一个单词
#验证输入的邮箱163 126 qq
email='738473800@qq.com'
result=re.match(r'\w{5,20}@(163|126|qq)\.com',email)
print(result)
#不是以4、7结尾的手机号码(11位)
phone='15901018868'
result=re.match(r'1\d{9}[0-35-689]$',phone)
print(result)
#爬虫
phone='010-123456789'
result=re.match(r'(\d{3}|\d{4})-(\d{9})$',phone)
print(result)
#分别提取
print(result.group())
#()表示分组   group(1)表示提取第一组的内容
print(result.group(1))
print(result.group(2))

msg='<html>abc</html>'
msg1='<h1>hello</h1>'
result=re.match(r'<([0-9a-zA-Z]+)>(.+)</[0-9a-zA-Z]+>',msg)
print(result)
print(result.group(1))
#number
result=re.match(r'<([0-9a-zA-Z]+)>(.+)</\1>$',msg1)
print(result)
print(result.group(2))

msg='<html><h1>abc</h1></html>'     #'<html><h1>abc</htm1></h1>'这样是不行的
result=re.match(r'<([0-9a-zA-Z]+)><([0-9a-zA-Z]+)>(.+)</\2></\1>$',msg)
print(result)
print(result.group(1))
print(result.group(2))
print(result.group(3))

执行结果:


<re.Match object; span=(0, 16), match='738473800@qq.com'>
<re.Match object; span=(0, 11), match='15901018868'>
<re.Match object; span=(0, 13), match='010-123456789'>
010-123456789
010
123456789
<re.Match object; span=(0, 16), match='<html>abc</html>'>
html
<re.Match object; span=(0, 14), match='<h1>hello</h1>'>
hello
<re.Match object; span=(0, 25), match='<html><h1>abc</h1></html>'>
html
h1
abc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值