正则表达式

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# 为什么要有正则表达式?
# 匹配字符串
    # 一个人的电话号码
    # 一个人的身份证号
    # 一台机器的ip地址
# 表单验证
    # 验证用户输入的信息是否准确
        # 11位 全数字 1开头 第二个数3-9之外的数
    # 银行卡号
# 爬虫
    # 从网页源码中获取一些链接、重要数据

# 正则规则(元字符,量词)
    # 第一条规则 : 本身是哪一个字符,就匹配字符串中的哪一个字符
    # 第二条规则 : 字符组[字符1字符2],一个字符组就代表匹配一个字符,只要这个字符出现在字符组里,那么就说明这个字符能匹配上
                    # 字符组中还可以使用范围
                        # 所有的范围都必须遵循ascii码从下到大来指定
                        # [0-9] [a-z] [A-Z]
    # [0-9]   \d   表示所有的数字
        # d  -->   d
        # \d -->   \是转义符   转义符转义了d,让d能够匹配所有0-9之间的数
    # \w 表示 大小写字母  数字 下划线
    # \s 表示空白 空格 换行符 制表符
    # \t 匹配制表符
    # \n 匹配换行符
    # \D 表示所有的非数字
    # \W 表示除 数字字母下划线之外的所有字符
    # \S 表示非空白
    # . 表示除了换行符之外的任意内容
    # [] 字符组 :只要在中括号内的所有字符都是符合规则的字符
    # [^ ]非字符组 :只要在中括号内的所有字符都是不符合规则的字符
    # []   [^]
    # ^ 表示一个字符的开始
    # $ 表示一个字符的结束
    # | 表示或,注意,如果两个规则有重叠部分,总是长的在前面,短的在后面
    # () 表示分组,给一部分正则规定为一组,|这个符号的作用域就可以缩小了
    # [\d]  [0-9]  \d  没有区别 都是要匹配一位数字
    # [\d\D]  [\W\w]  [\S\s] 匹配所有一切字符

# 元字符
# \d \w \s \t(table) \n(next)
# \D \W \S
# .
# []   [^]
# ^    $
# |   ()

# 量词
# {n}  表示只能出现n次
# {n,} 表示至少出现n次
# {n,m}表示至少出现n次,至多出现m次

# ? 表示匹配0次或1次   表示可有可无 但是有只能有一个 比如小数点
# +  表示匹配1次或多次
# *  表示匹配0次或多次  表示可有可无 但是有可以有多个 比如小数点后n位

# 匹配0次

# 匹配任意的2位整数
# 匹配任意的保留两位小数的数字
# 匹配一个整数或者小数  \d+\.\d+|\d+   \d+\.?\d*   \d+(\.\d+)?

# 默认贪婪匹配,总是会在符合量词条件的范围内尽量多匹配
    # \d{7,12}
# <html>adljdkjsljdlj</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值