网页常见知识和正则使用

 

 

网页知识与正则应用

  • 特殊符号

  • 常用标签

  • 列表标签

  • 表格标签

  • 表单标签

  • 正则表达式

 

特殊符号

&gt :大于号

&lt :小于号

&nbasp:空格符

&amp:&符号

&yen:¥符号

&reg:®注册符号

&copy:©版权符号

 

常用标签

a链接标签

<a href=网络地址> </a>
用于显示网络链接,跳转网页用

img图片标签

<imge src=图片地址> </imge>
用于展示图片,src后面加图片地址,也可以是网络图片地址

 div页面布局标签

<div>...<div>
是所有网页中出现频率最高的标签 内部可以无限制的嵌套任意标签

span页面标签文件

<span>...</span>
    是所有网页中涉及到文字可能会出现的标签 频率并不是太高

 

列表标签

 类似于execl表

<ul>
    <li>001</li>
    <li>002</li>
    <li>003</li>
</ul>

 

表格标签

<table border=1>
    <thead>
        <tr>
            <th>序号</th>      <!--书写一个个字段名-->
            <th>姓名</th>
            <th>年龄</th>
        </tr>                  <!--一个tr就是一行-->
    </thead>                 <!--书写表头数据(字段名)-->
    <tbody>
        <tr>
            <td>1</td>        <!--书写一个个真实数据-->
            <td>jason</td>
            <td>123</td>
        </tr>
    </tbody>                 <!--书写表单数据(真实数据)-->
</table>

 

表单标签

input标签

用于网页输入信息,获取用户相关数据

  input的type参数:

  text 普通文本
  password 密文展示
  email 邮箱格式
  date 日期格式
  radio 单选
  checkbox 多选
  file 文件
  submit 提交按钮
  reset 重置按钮
  button 普通按钮

<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
First name:<br>
<input type="text">
<br>
password:<br>
<input type="password">
<br>
<input type="submit" value="提交">
<br>
<input type="reset" value="重置">
<br>
<input type="button" value="按钮">
<br>
<input type="email" value="email">
<br>
<input type="date">
<br>性别:
<input type="radio"><input type="radio"><br>
喜欢
<input type="checkbox"><input type="checkbox"><br>
<input type="file">
<br>
</form> 
</body>
</html>

 

 select标签

列表选择标签

  option子标签

<!DOCTYPE html>
<html>
<body>
<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select> 
</body>
</html>

 

 textarea标签

  获取大文本标签,可以输入文字

<textarea rows="12" cols="20"/>

 

标签特性

由于在同一页面上有许多相同标签,为了区分标签,给标定义了两个了个特性

<a id=' ' class=' '></a>

上诉id、class等都称为a标签的属性

标签两大核心属性 

1.id   

  可以单独查找某个人,类似于标签的身份证号码 用于唯一标识标签,在同一个html文档中id不能重复

2.class

  可以批量查找一群人,类似于标签的种群(类别) 用于区分不同的类,在用一个html文档中class值可以重复 表示属于同一个类别

 

一个标签可以含有多个class值

<span class=‘c1 c2 c3’></span>

标签还可以定义任意的属性

<a username='jason' 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>

 

正则表达式

'''通过特殊符号的组合来筛选出符合条件的文本理解'''
# 正则表达式一门独立的学科,在其他地方都可以单独使用

题目:获得手机号要求,长度11位,纯数字,开头为13、14、15、18四选一

  使用python代码解决该问题会非常复杂所以我们引入了正则

eg:
import re
phone=input('请输入你的密码:')
# 判断是否符合要求
if re.match('^(13|14|15|18)[0-9]{9}$',phone):
    print('是合法的手机号码')
else:
    print('不是合法的手机号码')

由此可得出结论,使用正则表达式可以极大的简化数据筛选和校验的步骤

'''
匹配的内容精确时可以直接使用具体内容
'''
    eg:
        待匹配的文本内容 aaaaaaa111aaaaaa
        要匹配的文本 111    
        正则表达式输入111即可

正则在线工具:http://tool.chinaz.com/regex/

正则表达式之字符组

# 字符组在匹配内容的时候是单个单个字符挨个匹配
    [0123456789]  匹配0到9之间的任意一个数字包括首尾
    [0-9]  简写:匹配0到9之间的任意一个数字包括首尾
    [a-z]  匹配小写字母a到z之间的任意一个字母包括首尾
    [A-Z]  匹配大写字母A到Z之间的任意一个字母包括首尾
    [0-9a-zA-Z]  匹配数字或者小写字母或者大写字母

例子:

import re
phone='123434dvwqefew2342441'
t1=re.findall('[0123456789]',phone)
print(t1)
t1=re.findall('[0-9]',phone)
print(t1)
t1=re.findall('[a-z]',phone)
print(t1)
t1=re.findall('[A-Z]',phone)
print(t1)
t1=re.findall('[0-9a-zA-Z]',phone)
print(t1)

正则表达式之符号及量词

^ 匹配开头
$ 匹配末尾
() 对数据进行分组,指定查询内容
.  任意字符不包括换行符
\d匹配数字
[...] 匹配字符组中的字符
[^...] 匹配除了字符组中的所有字符

'''量词必须跟在正则表达式后面 不能单独出现使用'''

*          重复零次或更多次
+          重复一次或更多次
?          重复零次或一次
{n}       重复n次
{n,}      重复n次或更多次
{n,m}   重复n到m次

"""正则表达式默认情况下都是贪婪匹配>>>:尽可能多的匹配"""

练习

正则     待匹配的文本       结果
海.        海燕海娇海东          海燕、海娇、海东
^海.      海燕海娇海东        海燕
海.$      海燕海娇海东        海东
海.*       海燕海娇海东       海燕海娇海东
海.?      海燕海娇海东      海燕、海娇、海东
海.+      海燕海娇海东         海燕海娇海东
海.{1,2}      海燕和海娇和海东             海燕和、海娇和、海东

"""贪婪匹配与非贪婪匹配"""

正则     待匹配的文本       结果
<.*>     <script>123</script>          <script>123</script>

  右侧尽可能多的匹配大括号最后一个才停止

# 将贪婪匹配变成非贪婪匹配只需要在量词后面加一个问号即可

<.*?>      <script>123</script>     <script>

  右侧遇到一个大括号就停止匹配

取消转义

\n        换行符
\\n       \n
\\\\n    \\n

 

re模块

在python代码中使用正则表达式需要调用内置模块re

import re
phone='123434dvwqefew2342441'
t1=re.findall('2.{1,3}',phone)
print(t1)

 

posted @ 2021-09-14 18:59  微纯册  阅读(148)  评论(0编辑  收藏  举报