数据分析 --- day16正则表达式

一、正则表达式

1. 正则表达式的作用

正则表达式是一种可以让复杂的字符串问题变得简单的工具

问题:判断手机号是否合法

# 方法1:不使用正则
tel = '15982338687'
if len(tel) != 11:
    print('不是合法的手机号')
else:
    for i in tel:
        if not '0' <= i <= '9':
            print('不合法的手机号')
            break
    else:
        if tel[0] != '1':
            print('不合法的手机号')
        elif '3' <= tel[1] <= '9':
            print('合法')
        else:
            print('不合法的手机号')

            
# 方法2:

tel = '15982338687'
from re import fullmatch
print(fullmatch(r'1[3-9]\d{9}', tel) != None)


# 正则表达式 切割操作(示例)
from  re import split
str2 = '24+85-545*455+954'
print(split(r'[+*-]',str2))

2. fullmatch函数

  • fullmatch(正则表达式, 字符串) - 判断字符串和正则表达式是否完全匹配(判断整个字符串是否符合正则表达式所描述的规则),如果不符合返回None

  • python提供正则表达式的方式:直接将正则表示作为一个字符串内容(正则需要使用引号引起来,而且引号前面一般需要加r)

二、正则表达式语法

from re import fullmatch导入模块

  • 写正则表达式都是通过正则符号来描述字符串规则

1. 匹配类符号

匹配类符号是用来规定字符 (用来描述对字符的要求)

匹配类符号 作用说明
1) 普通字符 除了特殊符号以外的符号都是普通字符(在正则中表示符号本身)
2) . 匹配任意一个字符
3) \d 匹配任意一个数字字符
4) \s 匹配任意一个空白字符 (空白字符:’ ‘、’\n’、‘\t’)
5) \w 匹配任意一个数字、字母、下划线或者中文
6) \D、\S、\W
\D 匹配任意一个非数字字符
\S 匹配任意一个非空白字符
\W 匹配任意一个非数字、字母、下划线或者中文的字符
# 1) 普通字符
print(fullmatch(r'abc', 'abc'))

# 2) .
print(fullmatch(r'a.c', 'a+c'))
print(fullma
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值