正则表达式
匹配div标签,class="class1"中的文本内容:
要匹配的内容
(.*?)
' #?问号关闭贪婪
re模块使用案例
提取
import re
ret = re.findall(【正则表达式】,【被提取的字符串】)#返回的是列表
ret = re.match(【正则表达式】,【被匹配的字符串】)
注:
如果匹配成功,返回<class ‘re.Match’>对象
如果匹配不成功,返回None
ret = re.sub (【正则表达式】,【替换成的字符串】,【被匹配的字符串】)
import re
with open('index.html','r',encoding='utf-8') as f:
# 读取index.html
html = f.read()
# 把html中的换行符,去掉,也就是替换成空字符串
html = re.sub('\n','',html)
print(html)
# 定义正则表达式,注意括号
pattern_1 = '<div class="email">(.*?)</div>'
# re.findall(【正则表达式】,【被提取的字符串】),返回类型是列表
ret_1 = re.findall(pattern_1,html)
# 字符串.strip(),可以去除首位的空格和换行符
print(ret_1[0].strip())
# 定义密码的正则表达式,英文字母开头,可包括应为字母,数字、下划线,总位数6-16位
password_pattern = r'^[a-zA-Z][a-zA-Z0-9_]{5,15}$'
# 定义三个密码
pass1 = '1234567'
pass2 = 'k123456'
pass3 = 'k123'
# 打印测试结果,匹配成功返回re.Match对象,不成功返回None
print(re.match(password_pattern,pass1))
print(re.match(password_pattern,pass2))
print(re.match(password_pattern,pass3))