Python正则表达式之学习正则表达式三步曲

本文介绍了正则表达式的基本概念,如字符串匹配和模式,以及在数据验证、检索、隐藏和过滤中的作用。在Python中,通过re模块实现正则表达式功能,包括match()、findall()和search()方法。此外,文章还讲解了正则表达式的编写技巧,如查什么、查多少和从哪查,并给出匹配手机号的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、正则表达式的概述

        正则表达式描述了一种字符串匹配的模式,可以用来检查一个串的有无某子串,或者做子串匹配替换,取出子串等操作。也可以说正则表达式就是字符串的匹配规则,也可以理解为是一种模糊匹配,匹配满足正则条件的字符串。

2、正则表达式的功能

        1、数据验证(eg:表单验证)

        2、数据检索(eg:网络爬虫数据抓取)

        3、数据隐藏(手机号隐藏)

        4、数据过滤(eg: 敏感词汇过滤)

3、Python 中的re模块三步走

# 第一步 导入re模块

import re



#第二步使用方法进行匹配操作 这里用的 match()方法

result = re.match(pattern正则表达式,string要匹配的字符串,flags = 0)


"""
match() 方法: 专门用于匹配以某些字符或字符串开头的内容(只能匹配开头)
findall() 方法: 可以匹配任意位置
serach()  方法 : 函数用于扫描整个字符串,并返回第一个成功的匹配

"""




#如果匹配成功,使用 group方法来提取数据

result.group()  #没有返回内容,则返回 None

eg:匹配字符 7

import re 

str = "1254697318"

result = re.findall("8",str)

print(result)

4、正则编写三部曲

1、查什么

     代码                                    功能

      .

(英文的点号)

匹配任意一个字符( 除 \n 之外)

      [ ]

(字符簇)

匹配 [ ] 中的任意某个字符 

      [^ ]

( ^ 托字节)

匹配除了指定字符以外的所有字符,即取反的意思
      \d匹配数字  0-9
匹配非数字
     \s匹配空白(例如 空格 、table键等)
     \S匹配非空白
     \w匹配非特殊字符(eg: a-z、A-Z、0-9、_、汉字)
     \W匹配特殊字符

2、查多少

            代码功能
*匹配前⼀个字符出现0次或者⽆限次,即可有可⽆      (0 到 多)
+匹配
     \D
     \s
前⼀个字符出现1次或者⽆限次,即⾄少有1次      ( 1 到 多)
?匹配前⼀个字符出现1次或者0次,即要么有1次,要么没有  (0 或 1)
{m}匹配前⼀个字符出现m次  
{m,}匹配一个字符至少出现 m 次               (m 到 无限次)
{m,n}匹配前⼀个字符出现从m到n次               (m 到 n 次)

3、从哪查

代码功能
^匹配以某个字符串开头
$匹配以某个字符串结尾

4、小栗子 — 匹配手机号

import re

mobile = "12345678964"

result = re.match("^1[3456789]\d{9}$",mobile)

if result :
    print("手机号合理")
else :
    print("手机号不合法,请重新输入!!!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕.晨风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值