html符号与正则表达式
空格 > > < < & & ¥ ¥ 版权 © 注册 ®
常用标签
链接标签
<a href="https://www.sogo.com">链接标签</a>
href参数后面写网址 用户点击即可跳转到该网页
图片标签
<img src="111.png" alt="">图片标签
src参数后面写图片的地址 可以是网络上的也可以是本地的
页面布局
<div>页面布局标签</div>
是所有网页中出现频率最高的标签 内部可以无限制的嵌套任意标签
文本标签
<span>页面文本标签</span>
是所有网页中涉及到文字可能会出现的标签 频率并不是太高
<ul> <li>001</li> <li>002</li> <li>003</li> <li>004</li> <li>005</li> </ul>
涉及到多条相同格式数据展示的时候可以考虑使用表格标签,类似于excel。
<table> <thead> <tr> <th>序号</th> <!--书写一个个字段名--> <th>姓名</th> <th>年龄</th> </tr> <!--一个tr就是一行--> </thead> <!--书写表头数据(字段名)--> <tbody> <tr> <td>1</td> <!--书写一个个真实数据--> <td>jyb</td> <td>123</td> </tr> </tbody> <!--书写表单数据(真实数据)--> </table>
涉及到用户数据的获取一般都需要使用表单标签
input标签 type参数 text 普通文本 password 密文展示 email 邮箱格式 date 日期格式 radio 单选 checkbox 多选 file 文件 submit 提交按钮 reset 重置按钮 button 普通按钮 select标签 option子标签 textarea标签 获取大段文本
标签特性
<a id='' class=''></a> 上述id、class等都称之为a标签的属性 """标签两大核心属性""" id # 单独查找某个人 类似于标签的身份证号码 用于唯一标识标签 在同一个html文档中id不能重复 class # 批量查找一群人 类似于标签的种群(类别) 用于区分不同的类 在用一个html文档中class值可以重复 表示属于同一个类别 eg: <p class='c1'></p> <a class='c1'></a> <div class='c1'></div> 一个标签可以含有多个class值 <span class='c1 c2 c3'></span>
"""标签还可以自定义任意的属性""" <a username='jyb' pwd=123></a> """标签之间的关系描述""" <div>只要是div内部的标签都可以称之为是div的后代 <a>上一级div的儿子</a> <p>上一级div的儿子 <span>上一级p的儿上上一级div的孙子</span> </p> <div>上一级div的儿子 <a>上一级div的儿子上上一级div的孙子</a> </div> <span>上一级div的儿子</span> </div>
正则表达式
检验电话号--python版
'''纯python代码实现数据校验''' # 1.获取用户手机号 phone = input('phone num>>>:').strip() # 2.先判断长度是否是11位 if len(phone) == 11: # 3.再判断是否是纯数字 if phone.isdigit(): # 4.最后判断开头是否是13 14 15 18 if phone.startswith('13') or phone.startswith('14') or phone.startswith('15') or phone.startswith('18'): print('是一个合法的手机号') else: print('手机号格式错误') else: print('手机号必须是纯数字') else: print('手机号必须是11位')
正则版
'''借助于正则表达式校验''' import re phone_number = input('please input your phone number : ') if re.match('^(13|14|15|18)[0-9]{9}$',phone_number): print('是合法的手机号码') else: print('不是合法的手机号码')
字符组在匹配内容的时候是单个单个字符挨个匹配。
[0123456789]
匹配0到9之间的任意一个数字包括首尾
[0-9]
简写:匹配0到9之间的任意一个数字包括首尾
[a-z]
匹配小写字母a到z之间的任意一个字母包括首尾
[A-Z]
匹配大写字母A到Z之间的任意一个字母包括首尾
[0-9a-zA-Z]
匹配数字或者小写字母或者大写字母
# 符号在匹配内容的时候是单个单个字符挨个匹配 . 匹配除换行符以外的任意字符 \d 匹配数字 ^ 匹配字符串的开始 $ 匹配字符串的结尾 a|b 匹配字符a或字符b () 给正则表达式分组 本身没有任何意义 [...] 匹配字符组中的字符 [^...] 匹配除了字符组中字符的所有字符(取反)
# 跟在正则表达式的后面可以一次性匹配多个字符 '''量词必须跟在正则表达式后面 不能单独出现使用''' * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次 """正则表达式默认情况下都是贪婪匹配>>>:尽可能多的匹配""" 正则 待匹配的文本 结果 海. 海燕海娇海东 三个结果 海燕、海娇、海东 ^海. 海燕海娇海东 一个结果 海燕 海.$ 海燕海娇海东 一个结果 海东 海.* 海燕海娇海东 一个结果 海燕海娇海东
\n 匹配的是换行符 \\n 匹配的是\n \\\\n 匹配的是\\n
# 如果想在python代码中使用正则表达式需要借助于内置模块re import re text = '<script>123</script>' res = re.findall('<.*?>',text) print(res)