• 目录
    • 正则表达式引入
    • 字符组
    • 特殊符号组
    • 量词组
    • 贪婪匹配与非贪婪匹配
    • 转义
  • 正则表达式引入
# 校验qq号是否有效
# 1.获得用户输入的qq号
qq_num = input('请输入您的qq号>>>:').strip()
# 2.判断是否为纯数字
if qq_num.isdigit():
    # 3.判断长度是否为10位
    if len(qq_num) == 10:
        # 4.判断是不是以0开头
        if not qq_num.startswith('0'):
            print('qq号有效')
        else:
            print('qq号无效')
    else:
        print('qq号长度不正确')
else:
    print('qq号不是纯数字')


# 正则表达式
# 获得用户输入的qq号
import re
qq_num = input('请输入您的qq号>>>:').strip()
if re.match('^[1-9][0-9]{9}', qq_num):
    print('qq号有效')
else:
    print('qq号无效')
  • 字符组
编号    字符             作用
1    [0-9]          0-9的任意数字
2    [A-Z]          A-Z的任意字母
3    [a-z]          a-z的任意字母
4    [0-9A-Za-z]    0-9、A-Z、a-z的任意字符,之间是或的关系
  • 特殊符号组 
编号    特殊符号         作用
1    .           匹配除换行符之外的所有字符
2    \w       匹配字母、数字、下划线
3    \W       匹配除字母、数字、下划线之外的所有字符
4    \b       匹配所有数字
5    a        匹配a或者b
6    ^        匹配开头
7    $        匹配结尾
8    ()       给正则表达式分组
9    []       匹配字符组中的字符
10   [^]     匹配除了字符组中字符的所有字符(取反)
  • 量词
编号   量词      作用
1.   * 获取0次或多次 2.   + 获取1次或多次 3.   ? 获取0次或1次 4.   {n} 获取0次或n次 5.   {n,} 获取n次或多次 6.   {n,m} 获得n次到m次
  • 贪婪匹配与非贪婪匹配

   1. 贪婪匹配: .*          所有的量词默认都是贪婪匹配

   2. 非贪婪匹配:.*?     所有的量词默认都是贪婪匹配 但是如果在量词的后面紧跟一个问号,那么就会变成非贪婪匹配

  • 转义

   1. 正则表达式转义:正则表达式中取消斜杠与字母的特殊含义 就是在斜杠前面加斜杠

    1.1 \n    \\n

    1.2 \\n   \\\\n

   2.python转义:

    2.1 \n    r'\n

    2.2 \\n   r'\\n

 posted on 2022-07-19 23:18  拾荒菇凉  阅读(88)  评论(0)    收藏  举报